costy-plus 1.1.52-0 → 1.1.53-0
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.
|
@@ -1332,10 +1332,10 @@ w([
|
|
|
1332
1332
|
})
|
|
1333
1333
|
], c.prototype, "posStart", 2);
|
|
1334
1334
|
w([
|
|
1335
|
-
K(
|
|
1335
|
+
K(32, { leading: !1, trailing: !0 })
|
|
1336
1336
|
], c.prototype, "nativeScrollFunc", 1);
|
|
1337
1337
|
w([
|
|
1338
|
-
K(
|
|
1338
|
+
K(32, { leading: !1, trailing: !0 })
|
|
1339
1339
|
], c.prototype, "handleScroll", 1);
|
|
1340
1340
|
c = w([
|
|
1341
1341
|
te({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var V=Object.defineProperty,z=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var k=(e,t,i)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,b=(e,t)=>{for(var i in t||(t={}))X.call(t,i)&&k(e,i,t[i]);if(N)for(var i of N(t))$.call(t,i)&&k(e,i,t[i]);return e},T=(e,t)=>z(e,j(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("vue"),Y=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const v=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),O=require("lodash"),u=require("@costy-plus/utils"),_=require("../utils/tool.js"),g=require("zrender"),K=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function E(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const Q=K(q),U=E(g);var Z=Object.defineProperty,J=Object.getOwnPropertyDescriptor,C=(e,t,i,s)=>{for(var a=s>1?void 0:s?J(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(a=(s?o(t,i,a):o(a))||a);return s&&a&&Z(t,i,a),a};exports.default=class extends Q.default{constructor(){super(...arguments),this.AssistCtx=Object.freeze(null),this.sceneIns=Object.freeze(null),this.layerBgGroup=Object.freeze(null),this.leadHeadGroup=Object.freeze(null),this.splitLineGroup=Object.freeze(null),this.rowAndColwaveFromGroup=Object.freeze(null),this.singleWaveFromGroup=Object.freeze(null),this.addwaveFromGroup=Object.freeze(null),this.leadHeadNameGroup=Object.freeze(null),this.leadHeadOffAndDelGroup=Object.freeze(null),this.rulerGroup=Object.freeze(null),this.arrowGroup=Object.freeze(null),this.arrowHeartGroup=Object.freeze(null),this.heardBeatLineGroup=Object.freeze(null),this.bottomAreaHeight=Object.freeze(10),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.nearestHeartInfo=Object.freeze({analyseValue:null,insertInfo:null}),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0),this.lastScrollPointIdx=-1,this.lastScrollLeft=-1,this.pendingScrollPointIdx=null}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,a,n,o,r,l,d,h,f;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(a=this.splitLineGroup)==null||a.removeAll(),(n=this.leadHeadNameGroup)==null||n.removeAll(),(o=this.leadHeadOffAndDelGroup)==null||o.removeAll(),(r=this.rulerGroup)==null||r.removeAll(),(l=this.arrowGroup)==null||l.removeAll(),(d=this.arrowHeartGroup)==null||d.removeAll(),(h=this.heardBeatLineGroup)==null||h.removeAll(),(f=this.sceneIns)==null||f.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}handleNotifyMeasurintRectPostion(e){let t=null;this.leadModel.isSingleMode&&this.singleWaveFromGroup?t=(this.singleWaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)):(t=(this.rowAndColwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),t||(t=(this.addwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)))),t&&this.$emit("notifyMeasurintConfig",t.sens)}combinationDrawing(e=!0){e&&(this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes()),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[],t=0;for(let i=0;i<this.analyseValues.length;i++){for(let s=1;s<this.analyseValues[i].length;s++)i!==1&&this.analyseValues[i][s].KeyPosByBeat.Rpoint===0||(this.analyseValues[i][s].AnabyBeat.VentricularRate===0||this.analyseValues[i][s].AnabyBeat.AtrialRate===0?t=0:t=Math.round(60/(this.analyseValues[i][s].AnabyBeat.VentricularRate||this.analyseValues[i][s].AnabyBeat.AtrialRate)*1e3),e.push({index:this.analyseValues[i][s].BeatID,position:this.analyseValues[i][s].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[i][s].AnabyBeat.VentricularRate||this.analyseValues[i][s].AnabyBeat.AtrialRate,interval:t,telectricalaxis:this.analyseValues[i][s].AnabyBeat.TAxis===9999?this.range:this.analyseValues[i][s].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[i][s].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[i][s].AnabyBeat.QRS_T)+"\xB0",heart_style:this.analyseValues[i][s].heart_style}));this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:(this.slidingWindowInfo.startInd||0)+t},this.slidingWindowInfo.endInd>this.dataTotalLength&&(this.slidingWindowInfo.endInd=this.dataTotalLength),this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),a=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(a||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:(this.addSlidingWindowInfo.endInd||0)+i},this.addSlidingWindowInfo.endInd>this.dataTotalLength&&(this.addSlidingWindowInfo.endInd=this.dataTotalLength)}calcHighestAndLowestPoint(){const e=O.flattenDeep(this.waveLists);return{maxPoints:O.max(e)||0,minPoints:O.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new g.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new g.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new g.Group({name:"addwaveFrom"}),this.leadHeadGroup=new g.Group({name:"leadHead"}),this.splitLineGroup=new g.Group({name:"splitLine"}),this.leadHeadNameGroup=new g.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new g.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new g.Group({name:"ruler"}),this.arrowGroup=new g.Group({name:"arrowLoop"}),this.arrowHeartGroup=new g.Group({name:"arrowHeart"}),this.heardBeatLineGroup=new g.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=u.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=U.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:1});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp),this.sceneIns.on("click",this.sceneInsClick),this.sceneIns.on("contextmenu",this.sceneInsContextmenu)}sceneInsClick(e){var l,d,h,f;if(!this.heartFight.isShow||!this.heartFight.isClickArrow)return;this.nearestHeartInfo={analyseValue:null,insertInfo:null};const t=e.offsetX-this.waveDataCopy[0].pos[0],i=this.waveDataCopy[0].startInd||0;let s=u.getPointIdxForPx(t,this.waveDataCopy[0].step||1);if(s+=i,s<=0)return;const a=.15*this.waveConfigs[this.heartFight.showIdxPai].sampleRate;let n=null,o=-1,r=1/0;for(let c=0;c<this.analyseValues.length;c++){const x=this.analyseValues[c],y=c!==1?x.filter((L,P)=>{var I;return P===0||((I=L.KeyPosByBeat)==null?void 0:I.Rpoint)!==0}):x;let S=0,w=y.length-1;for(;S<=w;){const L=Math.floor((S+w)/2),P=y[L],I=(l=P.KeyPosByBeat)==null?void 0:l.Rpoint;if(I===void 0)break;const m=Math.abs(s-I);m<=a&&m<r&&(r=m,n=P,o=c),I<s?S=L+1:w=L-1}}if(n)this.nearestHeartInfo={analyseValue:n,insertInfo:null};else{let c=-1,x=1/0,y=-1,S=-1;for(let w=0;w<this.analyseValues.length;w++){const L=this.analyseValues[w];for(let P=0;P<L.length;P++){const I=L[P];if(w!==1&&P>0&&((d=I.KeyPosByBeat)==null?void 0:d.Rpoint)===0)continue;const m=(h=I.KeyPosByBeat)==null?void 0:h.Rpoint;if(m===void 0)continue;const p=Math.abs(s-m);p<x&&(x=p,S=w,s<m?y=P:w!==1&&((f=I.KeyPosByBeat)==null?void 0:f.Rpoint)===0&&P===0?y=1:y=P+1)}}S!==-1&&(o=S,c=y,this.nearestHeartInfo={analyseValue:{AnabyBeat:{QTd:0,QTc:0,SV3Amp:0,PR:0,QTcd:0,BeatType:-1,SV1Amp:0,QT:0,QRSAxis:0,SV5Amp:0,TAxis:0,AtrialRate:0,Td:0,RV5Amp:0,VentricularRate:0,Pd:0,QRSd:0,RV3Amp:0,PAxis:0,RV1Amp:0,QTdr:0,QRS_T:0},KeyPosByBeat:{Rpoint:s,PPpeak:0,Tend:0,PPstart:0,Tpeak:0,TPpeak:0,QRSend:0,Pend:0,Tstart:0,Ppeak:0,SPpoint:0,PPend:0,TPend:0,QRSstart:0,Pstart:0,TPstart:0},ecg_info_detail:[],BeatID:-1,heart_style:""},insertInfo:{listIndex:o,insertIndex:c,pointIdx:s,distanceToNearest:x}})}this.$emit("notifySceneClick",{event:e,offsetX:e.offsetX,offsetY:e.offsetY,nearestHeartInfo:O.cloneDeep(this.nearestHeartInfo)}),this.drawHeartReact(this.drawLoopArrowStartPosIdx)}sceneInsContextmenu(e){e.event.preventDefault(),this.$emit("notifySceneContextmenu",{event:e,offsetX:e.offsetX,offsetY:e.offsetY,nearestHeartInfo:O.cloneDeep(this.nearestHeartInfo)})}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i,s,a;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp),(s=this.sceneIns)==null||s.off("click",this.sceneInsClick),(a=this.sceneIns)==null||a.off("contextmenu",this.sceneInsContextmenu)}drawLeadHead(){var i,s,a,n,o,r;(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.leadHeadGroup);let e="",t=!1;e:for(let l=1;l<=this.totalRows;l++){if(t=!1,!(this.waveConfigs||[])[l-1])break e;if(!!this.waveConfigs[l-1].isShowLeadHead){if(l<=this.leadModel.line)e=(this.leadNames||[])[l-1]||"",this.waveConfigs[l-1].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((a=this.leadHeadGroup)==null||a.add(this.createLeadHead(0,this.waveConfigs[l-1].posY||l*this.splitBlockHeight,u.getSens(this.waveConfigs[l-1].isFixedSquareWaveSize?this.waveConfigs[l-1].fixedSquareWaveSizeGain:this.waveConfigs[l-1].gain,this.gridConfig.cellMg),t)));else if(l>this.leadModel.line&&l-this.leadModel.line<=this.leadModel.add){if(!this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])continue;e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l-this.leadModel.line-1]]],this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((o=this.leadHeadGroup)==null||o.add(this.createLeadHead(0,((n=this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])==null?void 0:n.posY)||l*this.splitBlockHeight,u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].isFixedSquareWaveSize?this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].fixedSquareWaveSizeGain:this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gain,this.gridConfig.cellMg),t)))}}}(r=this.sceneIns)==null||r.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const a=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new g.Polyline({cursor:"",shape:{points:[[0+e,0+t],[a+e,0+t],[a+e,-i+t],[3*a+e,-i+t],[3*a+e,0+t],[4*a+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var n,o,r,l,d;(n=this.splitLineGroup)==null||n.removeAll(),(o=this.sceneIns)==null||o.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const h=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),f=u.getDataLenTimes(Math.ceil(this.splitPoint/(h||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),c=parseInt(`${f/1e3%60}`,10);this.splitPoint=c*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(h||0)}let t=0,i=0,s=0,a=0;for(let h=1;h<=this.leadModel.column-1;h++){t=h*e+this.leadHeadConfig.leadHedeWidth,i=h*this.leadModel.line;e:for(let f=1;f<=this.leadModel.line;f++){if(!(this.waveConfigs||[])[f-1+i])break e;if((this.waveConfigs||[])[f-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[f-1+i].posX),s=(this.waveConfigs||[])[f-1+i].leadIdx,s===void 0)break;a=u.getSens((this.waveConfigs||[])[f-1+i].isFixedSquareWaveSize?(this.waveConfigs||[])[f-1+i].fixedSquareWaveSizeGain:(this.waveConfigs||[])[f-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[f-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(r=this.splitLineGroup)==null||r.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(a||0)/2*.5,a,!0)):(l=this.splitLineGroup)==null||l.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(a||0)*.5,a))}}(d=this.sceneIns)==null||d.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new g.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,a;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new g.Text({cursor:"",style:b({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new g.Text({style:b({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(a=this.sceneIns)==null||a.add(t)}drawRuler(e=0){var f,c,x,y,S;if(this.timersCopy=e,(f=this.rulerGroup)==null||f.removeAll(),!this.rulerConfig.isShow)return;const t=this.canvasContainer.height;let i=this.leadHeadConfig.leadHedeWidth,s=0;const a=u.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate),n=this.rulerStep||1,o=Math.max(0,this.drawArea.width-this.leadHeadConfig.leadHedeWidth),l=Math.ceil(o/n)*.1,d=this.dataTotalTimes*2;let h=e+l;if(d>0){const w=this.leadModel.isContinuous?d*1.1:d;h=Math.min(h,w)}if(!this.leadModel.add&&a){const w=u.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),a),L=u.getDataLenTimes(w,this.rulerConfig.sampleRate||0)/1e3;L>0&&(h=Math.min(h,e+L))}for(let w=e;w<=h;w=+(w+.1).toFixed(1))w!==e&&(i+=this.rulerStep),w%1===0?(s=t-10,(c=this.rulerGroup)==null||c.add(new g.Text({cursor:"",style:{x:i,y:s-15,text:w+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=t-5,(x=this.rulerGroup)==null||x.add(new g.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:t},style:{stroke:"#FF0080",lineWidth:2}}));(y=this.rulerGroup)!=null&&y.__zr||(S=this.sceneIns)==null||S.add(this.rulerGroup)}getWavePoints(e){let t=0;return e.data.map(([i,s],a)=>{if(isNaN(s)){t===0&&(t=Math.max(a-1,0));const n=e.data[t]||[0,0];return[n[0]+e.pos[0],n[1]+e.pos[1]]}return t=0,[i+e.pos[0],s+e.pos[1]]})}updateWaveGroupPoints(e,t){e==null||e.eachChild((i,s)=>{if(!(i instanceof g.Polyline))return;const a=t[s||0];!(a!=null&&a.data)||i.attr({shape:{points:this.getWavePoints(a)}})})}refreshVisibleWaveData(){if(!this.waveConfigs.length||!this.waveLists.length)return;if(this.pendingScrollPointIdx!==null){const s=this.pendingScrollPointIdx;if(!this.isWaveRangeLoaded(s))return;this.pendingScrollPointIdx=null,this.scrollWaveFrom(s),this.scrollRuler(s),this.scrollArrow(s);return}const e=this.slidingWindowInfo.startInd||0;if(!this.isWaveRangeLoaded(e))return;if(this.leadModel.isSingleMode){const s=this.getRednerSinglePoints();this.singleWaveDataCopy=s,this.updateWaveGroupPoints(this.singleWaveFromGroup,s);return}const t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,this.updateWaveGroupPoints(this.rowAndColwaveFromGroup,t),this.updateWaveGroupPoints(this.addwaveFromGroup,i)}isWaveRangeLoaded(e){const t=this.waveLists[0];if(!(t!=null&&t.length))return!1;const i=this.dataTotalLength||t.length,s=Math.max(0,Math.min(e,i)),a=Math.max(this.slidingWindowInfo.points||0,this.addSlidingWindowInfo.points||0,1),n=Math.min(i,s+a);for(let o=s;o<n;o++)if(isNaN(t[o]))return!1;return!0}drawWaveFrom(){var e,t,i,s,a;(e=this.leadHeadNameGroup)==null||e.removeAll(),(t=this.leadHeadOffAndDelGroup)==null||t.removeAll(),this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(i=this.sceneIns)==null||i.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(s=this.sceneIns)==null||s.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx),this.drawHeartReact(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,a=this.slidingWindowInfo.endInd||0;const n=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),o=u.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),r=[],l=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let d=0;d<1;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let h=1;h<=l;h++)t=h*this.splitBlockHeight,h>1&&(t*=.8,s=a,a=s+(this.slidingWindowInfo.points||0)),h===1&&(this.loopArrowY.rowAndCol=t),r.push({pos:[e,t],startInd:s,endInd:a,step:n,sens:o,data:i.slice(s,a).map((f,c)=>this.waveConfigs[this.singleModeConfig.defaultSelect].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,o/2):u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,o)).map((f,c)=>[c*(n||0),-f])})}return r}createSingleWaveFrom(){var o,r,l;(o=this.singleWaveFromGroup)==null||o.removeAll();let e=this.getRednerSinglePoints(),t=u.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,a=0,n=0;for(let d=0;d<e.length&&!(e[d].pos[1]>this.drawArea.height+this.bottomAreaHeight);d++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),a=parseInt(`${t/1e3%60}`,10),s=a===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,a=a===0||a===60?"00":a<10?`0${a}`:a,(r=this.singleWaveFromGroup)==null||r.add(new g.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+d,sens:e[d].sens,shape:{points:e[d].data.map(([h,f],c)=>isNaN(f)?(n===0&&(n=c-1,n=n<0?0:n),[e[d].data[n][0]+e[d].pos[0],e[d].data[n][1]+e[d].pos[1]]):(n=0,[h+e[d].pos[0],f+e[d].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:h=>{this.onDbClickWaveFrom(h,"single")},oncontextmenu:h=>{this.onContextmenu(h,"single")}})),t/1e3<this.dataTotalTimes&&((l=this.singleWaveFromGroup)==null||l.add(new g.Text({cursor:"",style:{x:e[d].pos[0],y:e[d].pos[1]-(e[d].sens||0)/2,text:d===0?"00:00 \u5FC3\u7387":`${s}:${a} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),d>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[d].sens||0)/2-15),this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens,e[0].pos[0]-10,e[0].pos[1]+10);this.singleWaveDataCopy=e,e=null}drawHeartReact(e=0){var a,n,o,r,l,d,h,f,c,x,y;if((a=this.arrowHeartGroup)==null||a.removeAll(),!this.heartFight.isShow)return;if(this.leadModel.line!==12&&this.leadModel.column!==1){this.nearestHeartInfo={analyseValue:null,insertInfo:null};return}if(!this.nearestHeartInfo.analyseValue)return;const t=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let i=0;const s=(((o=(n=this.nearestHeartInfo.analyseValue)==null?void 0:n.KeyPosByBeat)==null?void 0:o.Rpoint)||0)-e;if(!(e>(((l=(r=this.nearestHeartInfo.analyseValue)==null?void 0:r.KeyPosByBeat)==null?void 0:l.Rpoint)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&s>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&s>(this.slidingWindowInfo.points||0))&&!((((h=(d=this.nearestHeartInfo.analyseValue)==null?void 0:d.KeyPosByBeat)==null?void 0:h.Rpoint)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))){if(this.nearestHeartInfo.insertInfo)i=(s||0)*t+this.leadHeadConfig.leadHedeWidth,(c=this.arrowHeartGroup)==null||c.add(new g.Line({name:"draw_heart_line",cursor:"",shape:{x1:i,y1:0,x2:i,y2:this.canvasContainer.height-2},style:{stroke:"#E07F26",lineWidth:2}}));else{const S=.1*this.waveConfigs[this.heartFight.showIdxPai].sampleRate;i=((s||0)-S/2)*t+this.leadHeadConfig.leadHedeWidth;const w=(S*2+1)*t;(f=this.arrowHeartGroup)==null||f.add(new g.Rect({name:"draw_heart_rect",style:{fill:"#FF87E5",opacity:.64},shape:{x:i,y:0,width:w,height:this.canvasContainer.height-2},cursor:""}))}(x=this.arrowHeartGroup)!=null&&x.__zr||(y=this.sceneIns)==null||y.add(this.arrowHeartGroup)}}drawLoopArrow(e=0){var f,c,x,y,S,w,L,P,I,m,p,F,R;if(this.drawLoopArrowStartPosIdx=e,!this.heartFight.isShow)return;(f=this.arrowGroup)==null||f.removeAll(),this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0;if(this.leadModel.add){const D=u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);i=this.loopArrowY.add-(D||0)-this.splitBlockHeight/3.5}else this.leadModel.column===1?i=0:i=20;let s=0,a=0;const n={fontSize:12,fill:"#FF0000",fontFamily:this.fontFamily};let o=0,r=0;const l=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let d=0,h=0;for(let D=0;D<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;D++){const H=this.heartBeatPosition[this.heartFight.showIdxPai][D];if(d=((H==null?void 0:H.position)||0)-e,e>((H==null?void 0:H.position)||0)||!this.leadModel.isContinuous&&!this.leadModel.add&&d>(this.slidingWindowInfo.points||0)||this.leadModel.isSingleMode&&d>(this.slidingWindowInfo.points||0))continue;if(((H==null?void 0:H.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;s=((c=this.AssistCtx)==null?void 0:c.measureText(`${(H==null?void 0:H.heart_style)||""}`).width)||0,t=d*(l||0)+this.leadHeadConfig.leadHedeWidth-0,a=0,(x=this.arrowGroup)==null||x.add(new g.Text({name:"arrow_box",cursor:"",style:T(b({x:t,y:i+10,text:`${(H==null?void 0:H.heart_style)||""}`},n),{fill:"#333"}),onclick:M=>{!this.heartFight.mode&&this.heartFight.isClickArrow},oncontextmenu:M=>{M.event.preventDefault(),!this.heartFight.mode&&this.heartFight.isClickArrow}}));let A=t,G=0;const W=this.heartBeatPosition[this.heartFight.showIdxPai][D+1]||null;if(this.heartFight.isHeartRateCalculatedBasedOnInterval)if(D>0){const M=this.heartBeatPosition[this.heartFight.showIdxPai][D-1];if(M){const B=(M.position||0)-e;if(!this.leadModel.isContinuous&&!this.leadModel.add&&B>(this.slidingWindowInfo.points||0))continue;A=B*(l||0)+this.leadHeadConfig.leadHedeWidth,G=t,r=u.calcMs(Math.abs(((H==null?void 0:H.position)||0)-(M.position||0))*(l||0),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),o=r!==0&&u.calcBpm(r)||0}}else continue;else{if(!W||(h=((W==null?void 0:W.position)||0)-e,!this.leadModel.isContinuous&&!this.leadModel.add&&h>(this.slidingWindowInfo.points||0))||this.leadModel.isSingleMode&&h>(this.slidingWindowInfo.points||0))continue;if(((W==null?void 0:W.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;A=t,G=h*(l||0)+this.leadHeadConfig.leadHedeWidth,o=(W==null?void 0:W.heartrate)||0}if(a=0,this.heartFight.heartrate){s=((y=this.AssistCtx)==null?void 0:y.measureText(`${o||""}`).width)||0;const M=(G-A)/2-s/2+A;(S=this.arrowGroup)==null||S.add(new g.Text({cursor:"",style:b({x:M,y:a+i+5,text:`${o||""}`},n)})),a+=12}if(this.heartFight.interval){let M=`${(W==null?void 0:W.interval)||""}`;this.heartFight.isIntervalCalculatedBasedOnHeartRate&&(M=`${Math.round(6e4/o)}`),s=((w=this.AssistCtx)==null?void 0:w.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(L=this.arrowGroup)==null||L.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)})),a+=12}if(this.heartFight.qrstCompany){const M=(W==null?void 0:W.qrstCompany)||"";s=((P=this.AssistCtx)==null?void 0:P.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(I=this.arrowGroup)==null||I.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)})),a+=12}if(this.heartFight.telectricalaxis){const M=`${(W==null?void 0:W.telectricalaxis)||""}`;s=((m=this.AssistCtx)==null?void 0:m.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(p=this.arrowGroup)==null||p.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)}))}}(F=this.arrowGroup)!=null&&F.__zr||(R=this.sceneIns)==null||R.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",g.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var a,n,o,r,l,d,h,f,c,x,y,S,w,L,P;if(!this.currentHeardBeat.heardBeat)return;(a=this.heardBeatLineGroup)==null||a.removeAll();let t={},i=0,s;if(this.leadModel.isSingleMode){let I=this.getRednerSinglePoints();e:for(let m=0;m<I.length;m++){if(m>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((l=(r=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:r[this.currentHeardBeat.heardBeat.index])==null?void 0:l.KeyPosByBeat)||t;else{let p=this.analyseValues.find(F=>{var R;return(R=F[this.currentHeardBeat.heardBeat.index])==null?void 0:R.KeyPosByBeat});if(!p)break e;p&&(t=(o=p[this.currentHeardBeat.heardBeat.index])==null?void 0:o.KeyPosByBeat),p=null}for(const p in t)if(this.heardBeatLineKeys.includes(p)){if(i=(t[p]-this.slidingWindowInfo.startInd)*(I[m].step||0),this.isLeadOff(m)||this.isLeadDel(m))continue;if(!this.leadModel.isContinuous&&t[p]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=I[m],(d=this.heardBeatLineGroup)==null||d.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+m,"single"))}}I=null}else{let I=this.getRednerPoints(),m=this.getAddRednerPoints();e:for(let p=0;p<I.length;p++){t=((f=(h=this.analyseValues[p])==null?void 0:h[this.currentHeardBeat.heardBeat.index])==null?void 0:f.KeyPosByBeat)||t;for(const F in t)if(this.heardBeatLineKeys.includes(F)&&Object.prototype.hasOwnProperty.call(t,F)){if(i=(t[F]-this.slidingWindowInfo.startInd)*(I[p].step||0),this.isLeadOff(p)||this.isLeadDel(p))continue;if(e>t[F]||!this.leadModel.isContinuous&&t[F]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=I[p],this.leadModel.isContinuous&&p>this.leadModel.line-1))break e;(c=this.heardBeatLineGroup)==null||c.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],p+"_"+p,"rowAndCol"))}}e:for(let p=0;p<m.length;p++)if(!!((x=this.analyseValues[p])!=null&&x[this.currentHeardBeat.heardBeat.index])){t=((S=(y=this.analyseValues[p])==null?void 0:y[this.currentHeardBeat.heardBeat.index])==null?void 0:S.KeyPosByBeat)||t;for(const F in t)if(this.heardBeatLineKeys.includes(F)){if(i=(t[F]-this.slidingWindowInfo.startInd)*(m[p].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[p])&&this.isLeadDel(this.longLeadConfig.leadIdxs[p]))continue;if(e>t[F])break e;s=m[p],(w=this.heardBeatLineGroup)==null||w.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[p]+"_"+p,"add"))}}I=null,m=null}(L=this.heardBeatLineGroup)!=null&&L.__zr||(P=this.sceneIns)==null||P.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new g.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:a=>{this.onContextmenu(a,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,a=[],n=0,o=0;for(let r=0;r<this.leadModel.add;r++)s=this.longLeadConfig.leadIdxs[r],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,n=u.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),o=u.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(r+this.leadModel.line+1)*this.splitBlockHeight,a=this.waveLists[s]||[],r===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:a.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((l,d)=>this.waveConfigs[s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?u.getActualY(this.waveConfigs[s].sensitivity,l,o/2):u.getActualY(this.waveConfigs[s].sensitivity,l,o)).map((l,d)=>[d*(n||0),-l]),sens:o,step:n}));return e}createAddWaveFrom(){var i,s;(i=this.addwaveFromGroup)==null||i.removeAll();let e=this.getAddRednerPoints(),t=0;for(let a=0;a<e.length;a++)this.isLeadDel(this.longLeadConfig.leadIdxs[a])||((s=this.addwaveFromGroup)==null||s.add(new g.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[a]+"_"+a,sens:e[a].sens,shape:{points:e[a].data.map(([n,o],r)=>isNaN(o)?(t===0&&(t=r-1,t=t<0?0:t),[e[a].data[t][0]+e[a].pos[0],e[a].data[t][1]+e[a].pos[1]]):(t=0,[n+e[a].pos[0],o+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"add")},oncontextmenu:n=>{this.onContextmenu(n,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[a],e[a].pos[0],e[a].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a],e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15),this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens,e[a].pos[0],e[a].pos[1]-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],a=0,n=0,o=this.slidingWindowInfo.startInd||0,r=this.slidingWindowInfo.endInd||0;const l=[];for(let d=0;d<this.leadModel.column;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&d>0&&(o=r,r=o+(this.slidingWindowInfo.points||0));for(let h=1;h<=this.leadModel.line&&(t=h*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));h++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,a=u.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),n=u.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(h===1&&(this.loopArrowY.rowAndCol=t),l.push({pos:[e,t],startInd:o,endInd:r,sens:n,step:a,data:s.slice(o,r).map((f,c)=>this.waveConfigs[i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?u.getActualY(this.waveConfigs[i].sensitivity,f,n/2):u.getActualY(this.waveConfigs[i].sensitivity,f,n)).map((f,c)=>[c*(a||0),-f])}),i++)}return l}createRowAndColWaveFrom(){var s,a;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let n=0;n<e.length;n++)t=this.waveConfigs[n].leadIdx||0,this.isLeadDel(t)||(a=this.rowAndColwaveFromGroup)==null||a.add(new g.Polyline({cursor:"",name:n+"_"+n,sens:e[n].sens,shape:{points:e[n].data.map(([o,r],l)=>isNaN(r)?(i===0&&(i=l-1,i=i<0?0:i),[e[n].data[i][0]+e[n].pos[0],e[n].data[i][1]+e[n].pos[1]]):(i=0,[o+e[n].pos[0],r+e[n].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"rowAndCol")},oncontextmenu:o=>{this.onContextmenu(o,"rowAndCol")}})),n<this.leadModel.line?(this.createLeadName(t,e[n].pos[0],e[n].pos[1]-15),this.createLeadOffAndDel(t,e[n].pos[0]-5,e[n].pos[1]-(e[n].sens||0)/2-15),this.waveConfigs[n].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[n].squareWaveSens,e[n].pos[0],e[n].pos[1]-15)):(this.createLeadName(t,e[n].pos[0]+5,e[n].pos[1]-40),this.createLeadOffAndDel(t,e[n].pos[0]-5,e[n].pos[1]-(e[n].sens||0)/2+9),this.waveConfigs[n].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[n].squareWaveSens,e[n].pos[0],e[n].pos[1]-15));this.waveDataCopy=e,e=null}createLeadSensNams(e,t,i){var a;let s=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),i=i+40),(a=this.leadHeadNameGroup)==null||a.add(new g.Text({style:{x:s,y:i,text:e,fontSize:this.leadConfig.squareWaveSensFontSize||this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}))}createLeadName(e,t,i,s=!1){var n;let a=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),i=i+20),(n=this.leadHeadNameGroup)==null||n.add(new g.Text({style:{x:a,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:o=>{o.event.preventDefault(),this.$emit("notiifyLeadName",{event:T(b({},o),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:o=>{this.$emit("notiifyLeadName",{event:T(b({},o),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new g.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation();const i=e.target.name.split("_"),s=+i[1];let a=0,n=0,o=0,r=0,l=0;t==="single"?(a=e.offsetX-this.singleWaveDataCopy[s].pos[0],n=this.singleWaveDataCopy[s].startInd,o=u.getPointIdxForPx(a,this.singleWaveDataCopy[s].step||1),r=this.singleWaveDataCopy[s].sens,l=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(a=e.offsetX-this.waveDataCopy[s].pos[0],n=this.waveDataCopy[s].startInd||0,o=u.getPointIdxForPx(a,this.waveDataCopy[s].step||1),r=this.waveDataCopy[s].sens,l=this.waveDataCopy[s].step):t==="add"&&(a=e.offsetX-this.addWaveDataCopy[s].pos[0],n=this.addWaveDataCopy[s].startInd||0,o=u.getPointIdxForPx(a,this.addWaveDataCopy[s].step||1),r=this.addWaveDataCopy[s].sens,l=this.addWaveDataCopy[s].step),o+=n,this.$emit("notifyOnContextmenu",{sens:r,step:l,activeLeadIdx:+i[0],pointIdx:o,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){const i=Date.now(),s=()=>{const a=e.target.name.split("_");this.activeLeadIdx=+a[0];const n=+a[1];let o=0,r=0,l=0,d=0,h=0;t==="single"?(o=e.offsetX-this.singleWaveDataCopy[n].pos[0],r=this.singleWaveDataCopy[n].startInd,l=u.getPointIdxForPx(o,this.singleWaveDataCopy[n].step||1),d=this.singleWaveDataCopy[n].sens,h=this.singleWaveDataCopy[n].step):t==="rowAndCol"?(o=e.offsetX-this.waveDataCopy[n].pos[0],r=this.waveDataCopy[n].startInd||0,l=u.getPointIdxForPx(o,this.waveDataCopy[n].step||1),d=this.waveDataCopy[n].sens,h=this.waveDataCopy[n].step):t==="add"&&(o=e.offsetX-this.addWaveDataCopy[n].pos[0],r=this.addWaveDataCopy[n].startInd||0,l=u.getPointIdxForPx(o,this.addWaveDataCopy[n].step||1),d=this.addWaveDataCopy[n].sens,h=this.addWaveDataCopy[n].step),l+=r,this.$emit("notifyActiveEnlargr",{sens:d,step:h,activeLeadIdx:this.activeLeadIdx,pointIdx:l})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=Math.max(0,e||0),i=u.getPointIdxForPx(t,this.publicStep||1);i!==this.lastScrollPointIdx&&(this.lastScrollPointIdx=i,this.lastScrollLeft=t,this.$emit("notifyScrollPointIdx",{slidIdxs:i,scrollLeft:t}),this.isWaveRangeLoaded(i)?(this.pendingScrollPointIdx=null,this.scrollWaveFrom(i),this.scrollRuler(i),this.scrollArrow(i)):this.pendingScrollPointIdx=i)}scrollWaveFrom(e){this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);const t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,this.updateWaveGroupPoints(this.rowAndColwaveFromGroup,t),this.updateWaveGroupPoints(this.addwaveFromGroup,i)}scrollRuler(e){const t=u.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){this.drawLoopArrow(e),this.drawHeardBeatLine(e),this.drawHeartReact(e)}};C([v.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);C([v.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);C([v.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);C([v.Prop({default:()=>0,type:Number})],exports.default.prototype,"waveDataVersion",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);C([v.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);C([v.Prop({required:!0})],exports.default.prototype,"leadModel",2);C([v.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);C([v.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);C([v.Prop({required:!0})],exports.default.prototype,"gridConfig",2);C([v.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);C([v.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);C([v.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);C([v.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);C([v.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);C([v.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);C([v.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);C([v.Prop({default:()=>0})],exports.default.prototype,"posStart",2);C([_.debounceDecorator(100,{leading:!1,trailing:!0})],exports.default.prototype,"nativeScrollFunc",1);C([_.debounceDecorator(100,{leading:!1,trailing:!0})],exports.default.prototype,"handleScroll",1);exports.default=C([Y.default({name:"Methods"})],exports.default);
|
|
1
|
+
"use strict";var V=Object.defineProperty,z=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var k=(e,t,i)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,b=(e,t)=>{for(var i in t||(t={}))X.call(t,i)&&k(e,i,t[i]);if(N)for(var i of N(t))$.call(t,i)&&k(e,i,t[i]);return e},T=(e,t)=>z(e,j(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("vue"),Y=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const v=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),O=require("lodash"),u=require("@costy-plus/utils"),_=require("../utils/tool.js"),g=require("zrender"),K=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function E(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const Q=K(q),U=E(g);var Z=Object.defineProperty,J=Object.getOwnPropertyDescriptor,C=(e,t,i,s)=>{for(var a=s>1?void 0:s?J(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(a=(s?o(t,i,a):o(a))||a);return s&&a&&Z(t,i,a),a};exports.default=class extends Q.default{constructor(){super(...arguments),this.AssistCtx=Object.freeze(null),this.sceneIns=Object.freeze(null),this.layerBgGroup=Object.freeze(null),this.leadHeadGroup=Object.freeze(null),this.splitLineGroup=Object.freeze(null),this.rowAndColwaveFromGroup=Object.freeze(null),this.singleWaveFromGroup=Object.freeze(null),this.addwaveFromGroup=Object.freeze(null),this.leadHeadNameGroup=Object.freeze(null),this.leadHeadOffAndDelGroup=Object.freeze(null),this.rulerGroup=Object.freeze(null),this.arrowGroup=Object.freeze(null),this.arrowHeartGroup=Object.freeze(null),this.heardBeatLineGroup=Object.freeze(null),this.bottomAreaHeight=Object.freeze(10),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.nearestHeartInfo=Object.freeze({analyseValue:null,insertInfo:null}),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0),this.lastScrollPointIdx=-1,this.lastScrollLeft=-1,this.pendingScrollPointIdx=null}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,a,n,o,r,l,d,h,f;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(a=this.splitLineGroup)==null||a.removeAll(),(n=this.leadHeadNameGroup)==null||n.removeAll(),(o=this.leadHeadOffAndDelGroup)==null||o.removeAll(),(r=this.rulerGroup)==null||r.removeAll(),(l=this.arrowGroup)==null||l.removeAll(),(d=this.arrowHeartGroup)==null||d.removeAll(),(h=this.heardBeatLineGroup)==null||h.removeAll(),(f=this.sceneIns)==null||f.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}handleNotifyMeasurintRectPostion(e){let t=null;this.leadModel.isSingleMode&&this.singleWaveFromGroup?t=(this.singleWaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)):(t=(this.rowAndColwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),t||(t=(this.addwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)))),t&&this.$emit("notifyMeasurintConfig",t.sens)}combinationDrawing(e=!0){e&&(this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes()),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[],t=0;for(let i=0;i<this.analyseValues.length;i++){for(let s=1;s<this.analyseValues[i].length;s++)i!==1&&this.analyseValues[i][s].KeyPosByBeat.Rpoint===0||(this.analyseValues[i][s].AnabyBeat.VentricularRate===0||this.analyseValues[i][s].AnabyBeat.AtrialRate===0?t=0:t=Math.round(60/(this.analyseValues[i][s].AnabyBeat.VentricularRate||this.analyseValues[i][s].AnabyBeat.AtrialRate)*1e3),e.push({index:this.analyseValues[i][s].BeatID,position:this.analyseValues[i][s].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[i][s].AnabyBeat.VentricularRate||this.analyseValues[i][s].AnabyBeat.AtrialRate,interval:t,telectricalaxis:this.analyseValues[i][s].AnabyBeat.TAxis===9999?this.range:this.analyseValues[i][s].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[i][s].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[i][s].AnabyBeat.QRS_T)+"\xB0",heart_style:this.analyseValues[i][s].heart_style}));this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:(this.slidingWindowInfo.startInd||0)+t},this.slidingWindowInfo.endInd>this.dataTotalLength&&(this.slidingWindowInfo.endInd=this.dataTotalLength),this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),a=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(a||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:(this.addSlidingWindowInfo.endInd||0)+i},this.addSlidingWindowInfo.endInd>this.dataTotalLength&&(this.addSlidingWindowInfo.endInd=this.dataTotalLength)}calcHighestAndLowestPoint(){const e=O.flattenDeep(this.waveLists);return{maxPoints:O.max(e)||0,minPoints:O.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new g.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new g.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new g.Group({name:"addwaveFrom"}),this.leadHeadGroup=new g.Group({name:"leadHead"}),this.splitLineGroup=new g.Group({name:"splitLine"}),this.leadHeadNameGroup=new g.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new g.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new g.Group({name:"ruler"}),this.arrowGroup=new g.Group({name:"arrowLoop"}),this.arrowHeartGroup=new g.Group({name:"arrowHeart"}),this.heardBeatLineGroup=new g.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=u.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=U.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:1});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp),this.sceneIns.on("click",this.sceneInsClick),this.sceneIns.on("contextmenu",this.sceneInsContextmenu)}sceneInsClick(e){var l,d,h,f;if(!this.heartFight.isShow||!this.heartFight.isClickArrow)return;this.nearestHeartInfo={analyseValue:null,insertInfo:null};const t=e.offsetX-this.waveDataCopy[0].pos[0],i=this.waveDataCopy[0].startInd||0;let s=u.getPointIdxForPx(t,this.waveDataCopy[0].step||1);if(s+=i,s<=0)return;const a=.15*this.waveConfigs[this.heartFight.showIdxPai].sampleRate;let n=null,o=-1,r=1/0;for(let c=0;c<this.analyseValues.length;c++){const x=this.analyseValues[c],y=c!==1?x.filter((L,P)=>{var I;return P===0||((I=L.KeyPosByBeat)==null?void 0:I.Rpoint)!==0}):x;let S=0,w=y.length-1;for(;S<=w;){const L=Math.floor((S+w)/2),P=y[L],I=(l=P.KeyPosByBeat)==null?void 0:l.Rpoint;if(I===void 0)break;const m=Math.abs(s-I);m<=a&&m<r&&(r=m,n=P,o=c),I<s?S=L+1:w=L-1}}if(n)this.nearestHeartInfo={analyseValue:n,insertInfo:null};else{let c=-1,x=1/0,y=-1,S=-1;for(let w=0;w<this.analyseValues.length;w++){const L=this.analyseValues[w];for(let P=0;P<L.length;P++){const I=L[P];if(w!==1&&P>0&&((d=I.KeyPosByBeat)==null?void 0:d.Rpoint)===0)continue;const m=(h=I.KeyPosByBeat)==null?void 0:h.Rpoint;if(m===void 0)continue;const p=Math.abs(s-m);p<x&&(x=p,S=w,s<m?y=P:w!==1&&((f=I.KeyPosByBeat)==null?void 0:f.Rpoint)===0&&P===0?y=1:y=P+1)}}S!==-1&&(o=S,c=y,this.nearestHeartInfo={analyseValue:{AnabyBeat:{QTd:0,QTc:0,SV3Amp:0,PR:0,QTcd:0,BeatType:-1,SV1Amp:0,QT:0,QRSAxis:0,SV5Amp:0,TAxis:0,AtrialRate:0,Td:0,RV5Amp:0,VentricularRate:0,Pd:0,QRSd:0,RV3Amp:0,PAxis:0,RV1Amp:0,QTdr:0,QRS_T:0},KeyPosByBeat:{Rpoint:s,PPpeak:0,Tend:0,PPstart:0,Tpeak:0,TPpeak:0,QRSend:0,Pend:0,Tstart:0,Ppeak:0,SPpoint:0,PPend:0,TPend:0,QRSstart:0,Pstart:0,TPstart:0},ecg_info_detail:[],BeatID:-1,heart_style:""},insertInfo:{listIndex:o,insertIndex:c,pointIdx:s,distanceToNearest:x}})}this.$emit("notifySceneClick",{event:e,offsetX:e.offsetX,offsetY:e.offsetY,nearestHeartInfo:O.cloneDeep(this.nearestHeartInfo)}),this.drawHeartReact(this.drawLoopArrowStartPosIdx)}sceneInsContextmenu(e){e.event.preventDefault(),this.$emit("notifySceneContextmenu",{event:e,offsetX:e.offsetX,offsetY:e.offsetY,nearestHeartInfo:O.cloneDeep(this.nearestHeartInfo)})}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i,s,a;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp),(s=this.sceneIns)==null||s.off("click",this.sceneInsClick),(a=this.sceneIns)==null||a.off("contextmenu",this.sceneInsContextmenu)}drawLeadHead(){var i,s,a,n,o,r;(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.leadHeadGroup);let e="",t=!1;e:for(let l=1;l<=this.totalRows;l++){if(t=!1,!(this.waveConfigs||[])[l-1])break e;if(!!this.waveConfigs[l-1].isShowLeadHead){if(l<=this.leadModel.line)e=(this.leadNames||[])[l-1]||"",this.waveConfigs[l-1].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((a=this.leadHeadGroup)==null||a.add(this.createLeadHead(0,this.waveConfigs[l-1].posY||l*this.splitBlockHeight,u.getSens(this.waveConfigs[l-1].isFixedSquareWaveSize?this.waveConfigs[l-1].fixedSquareWaveSizeGain:this.waveConfigs[l-1].gain,this.gridConfig.cellMg),t)));else if(l>this.leadModel.line&&l-this.leadModel.line<=this.leadModel.add){if(!this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])continue;e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l-this.leadModel.line-1]]],this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((o=this.leadHeadGroup)==null||o.add(this.createLeadHead(0,((n=this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])==null?void 0:n.posY)||l*this.splitBlockHeight,u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].isFixedSquareWaveSize?this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].fixedSquareWaveSizeGain:this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gain,this.gridConfig.cellMg),t)))}}}(r=this.sceneIns)==null||r.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const a=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new g.Polyline({cursor:"",shape:{points:[[0+e,0+t],[a+e,0+t],[a+e,-i+t],[3*a+e,-i+t],[3*a+e,0+t],[4*a+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var n,o,r,l,d;(n=this.splitLineGroup)==null||n.removeAll(),(o=this.sceneIns)==null||o.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const h=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),f=u.getDataLenTimes(Math.ceil(this.splitPoint/(h||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),c=parseInt(`${f/1e3%60}`,10);this.splitPoint=c*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(h||0)}let t=0,i=0,s=0,a=0;for(let h=1;h<=this.leadModel.column-1;h++){t=h*e+this.leadHeadConfig.leadHedeWidth,i=h*this.leadModel.line;e:for(let f=1;f<=this.leadModel.line;f++){if(!(this.waveConfigs||[])[f-1+i])break e;if((this.waveConfigs||[])[f-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[f-1+i].posX),s=(this.waveConfigs||[])[f-1+i].leadIdx,s===void 0)break;a=u.getSens((this.waveConfigs||[])[f-1+i].isFixedSquareWaveSize?(this.waveConfigs||[])[f-1+i].fixedSquareWaveSizeGain:(this.waveConfigs||[])[f-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[f-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(r=this.splitLineGroup)==null||r.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(a||0)/2*.5,a,!0)):(l=this.splitLineGroup)==null||l.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(a||0)*.5,a))}}(d=this.sceneIns)==null||d.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new g.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,a;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new g.Text({cursor:"",style:b({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new g.Text({style:b({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(a=this.sceneIns)==null||a.add(t)}drawRuler(e=0){var f,c,x,y,S;if(this.timersCopy=e,(f=this.rulerGroup)==null||f.removeAll(),!this.rulerConfig.isShow)return;const t=this.canvasContainer.height;let i=this.leadHeadConfig.leadHedeWidth,s=0;const a=u.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate),n=this.rulerStep||1,o=Math.max(0,this.drawArea.width-this.leadHeadConfig.leadHedeWidth),l=Math.ceil(o/n)*.1,d=this.dataTotalTimes*2;let h=e+l;if(d>0){const w=this.leadModel.isContinuous?d*1.1:d;h=Math.min(h,w)}if(!this.leadModel.add&&a){const w=u.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),a),L=u.getDataLenTimes(w,this.rulerConfig.sampleRate||0)/1e3;L>0&&(h=Math.min(h,e+L))}for(let w=e;w<=h;w=+(w+.1).toFixed(1))w!==e&&(i+=this.rulerStep),w%1===0?(s=t-10,(c=this.rulerGroup)==null||c.add(new g.Text({cursor:"",style:{x:i,y:s-15,text:w+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=t-5,(x=this.rulerGroup)==null||x.add(new g.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:t},style:{stroke:"#FF0080",lineWidth:2}}));(y=this.rulerGroup)!=null&&y.__zr||(S=this.sceneIns)==null||S.add(this.rulerGroup)}getWavePoints(e){let t=0;return e.data.map(([i,s],a)=>{if(isNaN(s)){t===0&&(t=Math.max(a-1,0));const n=e.data[t]||[0,0];return[n[0]+e.pos[0],n[1]+e.pos[1]]}return t=0,[i+e.pos[0],s+e.pos[1]]})}updateWaveGroupPoints(e,t){e==null||e.eachChild((i,s)=>{if(!(i instanceof g.Polyline))return;const a=t[s||0];!(a!=null&&a.data)||i.attr({shape:{points:this.getWavePoints(a)}})})}refreshVisibleWaveData(){if(!this.waveConfigs.length||!this.waveLists.length)return;if(this.pendingScrollPointIdx!==null){const s=this.pendingScrollPointIdx;if(!this.isWaveRangeLoaded(s))return;this.pendingScrollPointIdx=null,this.scrollWaveFrom(s),this.scrollRuler(s),this.scrollArrow(s);return}const e=this.slidingWindowInfo.startInd||0;if(!this.isWaveRangeLoaded(e))return;if(this.leadModel.isSingleMode){const s=this.getRednerSinglePoints();this.singleWaveDataCopy=s,this.updateWaveGroupPoints(this.singleWaveFromGroup,s);return}const t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,this.updateWaveGroupPoints(this.rowAndColwaveFromGroup,t),this.updateWaveGroupPoints(this.addwaveFromGroup,i)}isWaveRangeLoaded(e){const t=this.waveLists[0];if(!(t!=null&&t.length))return!1;const i=this.dataTotalLength||t.length,s=Math.max(0,Math.min(e,i)),a=Math.max(this.slidingWindowInfo.points||0,this.addSlidingWindowInfo.points||0,1),n=Math.min(i,s+a);for(let o=s;o<n;o++)if(isNaN(t[o]))return!1;return!0}drawWaveFrom(){var e,t,i,s,a;(e=this.leadHeadNameGroup)==null||e.removeAll(),(t=this.leadHeadOffAndDelGroup)==null||t.removeAll(),this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(i=this.sceneIns)==null||i.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(s=this.sceneIns)==null||s.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx),this.drawHeartReact(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,a=this.slidingWindowInfo.endInd||0;const n=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),o=u.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),r=[],l=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let d=0;d<1;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let h=1;h<=l;h++)t=h*this.splitBlockHeight,h>1&&(t*=.8,s=a,a=s+(this.slidingWindowInfo.points||0)),h===1&&(this.loopArrowY.rowAndCol=t),r.push({pos:[e,t],startInd:s,endInd:a,step:n,sens:o,data:i.slice(s,a).map((f,c)=>this.waveConfigs[this.singleModeConfig.defaultSelect].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,o/2):u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,o)).map((f,c)=>[c*(n||0),-f])})}return r}createSingleWaveFrom(){var o,r,l;(o=this.singleWaveFromGroup)==null||o.removeAll();let e=this.getRednerSinglePoints(),t=u.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,a=0,n=0;for(let d=0;d<e.length&&!(e[d].pos[1]>this.drawArea.height+this.bottomAreaHeight);d++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),a=parseInt(`${t/1e3%60}`,10),s=a===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,a=a===0||a===60?"00":a<10?`0${a}`:a,(r=this.singleWaveFromGroup)==null||r.add(new g.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+d,sens:e[d].sens,shape:{points:e[d].data.map(([h,f],c)=>isNaN(f)?(n===0&&(n=c-1,n=n<0?0:n),[e[d].data[n][0]+e[d].pos[0],e[d].data[n][1]+e[d].pos[1]]):(n=0,[h+e[d].pos[0],f+e[d].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:h=>{this.onDbClickWaveFrom(h,"single")},oncontextmenu:h=>{this.onContextmenu(h,"single")}})),t/1e3<this.dataTotalTimes&&((l=this.singleWaveFromGroup)==null||l.add(new g.Text({cursor:"",style:{x:e[d].pos[0],y:e[d].pos[1]-(e[d].sens||0)/2,text:d===0?"00:00 \u5FC3\u7387":`${s}:${a} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),d>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[d].sens||0)/2-15),this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens,e[0].pos[0]-10,e[0].pos[1]+10);this.singleWaveDataCopy=e,e=null}drawHeartReact(e=0){var a,n,o,r,l,d,h,f,c,x,y;if((a=this.arrowHeartGroup)==null||a.removeAll(),!this.heartFight.isShow)return;if(this.leadModel.line!==12&&this.leadModel.column!==1){this.nearestHeartInfo={analyseValue:null,insertInfo:null};return}if(!this.nearestHeartInfo.analyseValue)return;const t=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let i=0;const s=(((o=(n=this.nearestHeartInfo.analyseValue)==null?void 0:n.KeyPosByBeat)==null?void 0:o.Rpoint)||0)-e;if(!(e>(((l=(r=this.nearestHeartInfo.analyseValue)==null?void 0:r.KeyPosByBeat)==null?void 0:l.Rpoint)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&s>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&s>(this.slidingWindowInfo.points||0))&&!((((h=(d=this.nearestHeartInfo.analyseValue)==null?void 0:d.KeyPosByBeat)==null?void 0:h.Rpoint)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))){if(this.nearestHeartInfo.insertInfo)i=(s||0)*t+this.leadHeadConfig.leadHedeWidth,(c=this.arrowHeartGroup)==null||c.add(new g.Line({name:"draw_heart_line",cursor:"",shape:{x1:i,y1:0,x2:i,y2:this.canvasContainer.height-2},style:{stroke:"#E07F26",lineWidth:2}}));else{const S=.1*this.waveConfigs[this.heartFight.showIdxPai].sampleRate;i=((s||0)-S/2)*t+this.leadHeadConfig.leadHedeWidth;const w=(S*2+1)*t;(f=this.arrowHeartGroup)==null||f.add(new g.Rect({name:"draw_heart_rect",style:{fill:"#FF87E5",opacity:.64},shape:{x:i,y:0,width:w,height:this.canvasContainer.height-2},cursor:""}))}(x=this.arrowHeartGroup)!=null&&x.__zr||(y=this.sceneIns)==null||y.add(this.arrowHeartGroup)}}drawLoopArrow(e=0){var f,c,x,y,S,w,L,P,I,m,p,F,R;if(this.drawLoopArrowStartPosIdx=e,!this.heartFight.isShow)return;(f=this.arrowGroup)==null||f.removeAll(),this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0;if(this.leadModel.add){const D=u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);i=this.loopArrowY.add-(D||0)-this.splitBlockHeight/3.5}else this.leadModel.column===1?i=0:i=20;let s=0,a=0;const n={fontSize:12,fill:"#FF0000",fontFamily:this.fontFamily};let o=0,r=0;const l=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let d=0,h=0;for(let D=0;D<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;D++){const H=this.heartBeatPosition[this.heartFight.showIdxPai][D];if(d=((H==null?void 0:H.position)||0)-e,e>((H==null?void 0:H.position)||0)||!this.leadModel.isContinuous&&!this.leadModel.add&&d>(this.slidingWindowInfo.points||0)||this.leadModel.isSingleMode&&d>(this.slidingWindowInfo.points||0))continue;if(((H==null?void 0:H.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;s=((c=this.AssistCtx)==null?void 0:c.measureText(`${(H==null?void 0:H.heart_style)||""}`).width)||0,t=d*(l||0)+this.leadHeadConfig.leadHedeWidth-0,a=0,(x=this.arrowGroup)==null||x.add(new g.Text({name:"arrow_box",cursor:"",style:T(b({x:t,y:i+10,text:`${(H==null?void 0:H.heart_style)||""}`},n),{fill:"#333"}),onclick:M=>{!this.heartFight.mode&&this.heartFight.isClickArrow},oncontextmenu:M=>{M.event.preventDefault(),!this.heartFight.mode&&this.heartFight.isClickArrow}}));let A=t,G=0;const W=this.heartBeatPosition[this.heartFight.showIdxPai][D+1]||null;if(this.heartFight.isHeartRateCalculatedBasedOnInterval)if(D>0){const M=this.heartBeatPosition[this.heartFight.showIdxPai][D-1];if(M){const B=(M.position||0)-e;if(!this.leadModel.isContinuous&&!this.leadModel.add&&B>(this.slidingWindowInfo.points||0))continue;A=B*(l||0)+this.leadHeadConfig.leadHedeWidth,G=t,r=u.calcMs(Math.abs(((H==null?void 0:H.position)||0)-(M.position||0))*(l||0),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),o=r!==0&&u.calcBpm(r)||0}}else continue;else{if(!W||(h=((W==null?void 0:W.position)||0)-e,!this.leadModel.isContinuous&&!this.leadModel.add&&h>(this.slidingWindowInfo.points||0))||this.leadModel.isSingleMode&&h>(this.slidingWindowInfo.points||0))continue;if(((W==null?void 0:W.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;A=t,G=h*(l||0)+this.leadHeadConfig.leadHedeWidth,o=(W==null?void 0:W.heartrate)||0}if(a=0,this.heartFight.heartrate){s=((y=this.AssistCtx)==null?void 0:y.measureText(`${o||""}`).width)||0;const M=(G-A)/2-s/2+A;(S=this.arrowGroup)==null||S.add(new g.Text({cursor:"",style:b({x:M,y:a+i+5,text:`${o||""}`},n)})),a+=12}if(this.heartFight.interval){let M=`${(W==null?void 0:W.interval)||""}`;this.heartFight.isIntervalCalculatedBasedOnHeartRate&&(M=`${Math.round(6e4/o)}`),s=((w=this.AssistCtx)==null?void 0:w.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(L=this.arrowGroup)==null||L.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)})),a+=12}if(this.heartFight.qrstCompany){const M=(W==null?void 0:W.qrstCompany)||"";s=((P=this.AssistCtx)==null?void 0:P.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(I=this.arrowGroup)==null||I.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)})),a+=12}if(this.heartFight.telectricalaxis){const M=`${(W==null?void 0:W.telectricalaxis)||""}`;s=((m=this.AssistCtx)==null?void 0:m.measureText(M).width)||0;const B=(G-A)/2-s/2+A;(p=this.arrowGroup)==null||p.add(new g.Text({cursor:"",style:b({x:B,y:a+i+5,text:M},n)}))}}(F=this.arrowGroup)!=null&&F.__zr||(R=this.sceneIns)==null||R.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",g.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var a,n,o,r,l,d,h,f,c,x,y,S,w,L,P;if(!this.currentHeardBeat.heardBeat)return;(a=this.heardBeatLineGroup)==null||a.removeAll();let t={},i=0,s;if(this.leadModel.isSingleMode){let I=this.getRednerSinglePoints();e:for(let m=0;m<I.length;m++){if(m>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((l=(r=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:r[this.currentHeardBeat.heardBeat.index])==null?void 0:l.KeyPosByBeat)||t;else{let p=this.analyseValues.find(F=>{var R;return(R=F[this.currentHeardBeat.heardBeat.index])==null?void 0:R.KeyPosByBeat});if(!p)break e;p&&(t=(o=p[this.currentHeardBeat.heardBeat.index])==null?void 0:o.KeyPosByBeat),p=null}for(const p in t)if(this.heardBeatLineKeys.includes(p)){if(i=(t[p]-this.slidingWindowInfo.startInd)*(I[m].step||0),this.isLeadOff(m)||this.isLeadDel(m))continue;if(!this.leadModel.isContinuous&&t[p]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=I[m],(d=this.heardBeatLineGroup)==null||d.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+m,"single"))}}I=null}else{let I=this.getRednerPoints(),m=this.getAddRednerPoints();e:for(let p=0;p<I.length;p++){t=((f=(h=this.analyseValues[p])==null?void 0:h[this.currentHeardBeat.heardBeat.index])==null?void 0:f.KeyPosByBeat)||t;for(const F in t)if(this.heardBeatLineKeys.includes(F)&&Object.prototype.hasOwnProperty.call(t,F)){if(i=(t[F]-this.slidingWindowInfo.startInd)*(I[p].step||0),this.isLeadOff(p)||this.isLeadDel(p))continue;if(e>t[F]||!this.leadModel.isContinuous&&t[F]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=I[p],this.leadModel.isContinuous&&p>this.leadModel.line-1))break e;(c=this.heardBeatLineGroup)==null||c.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],p+"_"+p,"rowAndCol"))}}e:for(let p=0;p<m.length;p++)if(!!((x=this.analyseValues[p])!=null&&x[this.currentHeardBeat.heardBeat.index])){t=((S=(y=this.analyseValues[p])==null?void 0:y[this.currentHeardBeat.heardBeat.index])==null?void 0:S.KeyPosByBeat)||t;for(const F in t)if(this.heardBeatLineKeys.includes(F)){if(i=(t[F]-this.slidingWindowInfo.startInd)*(m[p].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[p])&&this.isLeadDel(this.longLeadConfig.leadIdxs[p]))continue;if(e>t[F])break e;s=m[p],(w=this.heardBeatLineGroup)==null||w.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[p]+"_"+p,"add"))}}I=null,m=null}(L=this.heardBeatLineGroup)!=null&&L.__zr||(P=this.sceneIns)==null||P.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new g.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:a=>{this.onContextmenu(a,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,a=[],n=0,o=0;for(let r=0;r<this.leadModel.add;r++)s=this.longLeadConfig.leadIdxs[r],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,n=u.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),o=u.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(r+this.leadModel.line+1)*this.splitBlockHeight,a=this.waveLists[s]||[],r===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:a.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((l,d)=>this.waveConfigs[s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?u.getActualY(this.waveConfigs[s].sensitivity,l,o/2):u.getActualY(this.waveConfigs[s].sensitivity,l,o)).map((l,d)=>[d*(n||0),-l]),sens:o,step:n}));return e}createAddWaveFrom(){var i,s;(i=this.addwaveFromGroup)==null||i.removeAll();let e=this.getAddRednerPoints(),t=0;for(let a=0;a<e.length;a++)this.isLeadDel(this.longLeadConfig.leadIdxs[a])||((s=this.addwaveFromGroup)==null||s.add(new g.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[a]+"_"+a,sens:e[a].sens,shape:{points:e[a].data.map(([n,o],r)=>isNaN(o)?(t===0&&(t=r-1,t=t<0?0:t),[e[a].data[t][0]+e[a].pos[0],e[a].data[t][1]+e[a].pos[1]]):(t=0,[n+e[a].pos[0],o+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"add")},oncontextmenu:n=>{this.onContextmenu(n,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[a],e[a].pos[0],e[a].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a],e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15),this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens,e[a].pos[0],e[a].pos[1]-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],a=0,n=0,o=this.slidingWindowInfo.startInd||0,r=this.slidingWindowInfo.endInd||0;const l=[];for(let d=0;d<this.leadModel.column;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&d>0&&(o=r,r=o+(this.slidingWindowInfo.points||0));for(let h=1;h<=this.leadModel.line&&(t=h*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));h++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,a=u.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),n=u.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(h===1&&(this.loopArrowY.rowAndCol=t),l.push({pos:[e,t],startInd:o,endInd:r,sens:n,step:a,data:s.slice(o,r).map((f,c)=>this.waveConfigs[i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?u.getActualY(this.waveConfigs[i].sensitivity,f,n/2):u.getActualY(this.waveConfigs[i].sensitivity,f,n)).map((f,c)=>[c*(a||0),-f])}),i++)}return l}createRowAndColWaveFrom(){var s,a;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let n=0;n<e.length;n++)t=this.waveConfigs[n].leadIdx||0,this.isLeadDel(t)||(a=this.rowAndColwaveFromGroup)==null||a.add(new g.Polyline({cursor:"",name:n+"_"+n,sens:e[n].sens,shape:{points:e[n].data.map(([o,r],l)=>isNaN(r)?(i===0&&(i=l-1,i=i<0?0:i),[e[n].data[i][0]+e[n].pos[0],e[n].data[i][1]+e[n].pos[1]]):(i=0,[o+e[n].pos[0],r+e[n].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"rowAndCol")},oncontextmenu:o=>{this.onContextmenu(o,"rowAndCol")}})),n<this.leadModel.line?(this.createLeadName(t,e[n].pos[0],e[n].pos[1]-15),this.createLeadOffAndDel(t,e[n].pos[0]-5,e[n].pos[1]-(e[n].sens||0)/2-15),this.waveConfigs[n].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[n].squareWaveSens,e[n].pos[0],e[n].pos[1]-15)):(this.createLeadName(t,e[n].pos[0]+5,e[n].pos[1]-40),this.createLeadOffAndDel(t,e[n].pos[0]-5,e[n].pos[1]-(e[n].sens||0)/2+9),this.waveConfigs[n].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[n].squareWaveSens,e[n].pos[0],e[n].pos[1]-15));this.waveDataCopy=e,e=null}createLeadSensNams(e,t,i){var a;let s=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),i=i+40),(a=this.leadHeadNameGroup)==null||a.add(new g.Text({style:{x:s,y:i,text:e,fontSize:this.leadConfig.squareWaveSensFontSize||this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}))}createLeadName(e,t,i,s=!1){var n;let a=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),i=i+20),(n=this.leadHeadNameGroup)==null||n.add(new g.Text({style:{x:a,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:o=>{o.event.preventDefault(),this.$emit("notiifyLeadName",{event:T(b({},o),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:o=>{this.$emit("notiifyLeadName",{event:T(b({},o),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new g.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation();const i=e.target.name.split("_"),s=+i[1];let a=0,n=0,o=0,r=0,l=0;t==="single"?(a=e.offsetX-this.singleWaveDataCopy[s].pos[0],n=this.singleWaveDataCopy[s].startInd,o=u.getPointIdxForPx(a,this.singleWaveDataCopy[s].step||1),r=this.singleWaveDataCopy[s].sens,l=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(a=e.offsetX-this.waveDataCopy[s].pos[0],n=this.waveDataCopy[s].startInd||0,o=u.getPointIdxForPx(a,this.waveDataCopy[s].step||1),r=this.waveDataCopy[s].sens,l=this.waveDataCopy[s].step):t==="add"&&(a=e.offsetX-this.addWaveDataCopy[s].pos[0],n=this.addWaveDataCopy[s].startInd||0,o=u.getPointIdxForPx(a,this.addWaveDataCopy[s].step||1),r=this.addWaveDataCopy[s].sens,l=this.addWaveDataCopy[s].step),o+=n,this.$emit("notifyOnContextmenu",{sens:r,step:l,activeLeadIdx:+i[0],pointIdx:o,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){const i=Date.now(),s=()=>{const a=e.target.name.split("_");this.activeLeadIdx=+a[0];const n=+a[1];let o=0,r=0,l=0,d=0,h=0;t==="single"?(o=e.offsetX-this.singleWaveDataCopy[n].pos[0],r=this.singleWaveDataCopy[n].startInd,l=u.getPointIdxForPx(o,this.singleWaveDataCopy[n].step||1),d=this.singleWaveDataCopy[n].sens,h=this.singleWaveDataCopy[n].step):t==="rowAndCol"?(o=e.offsetX-this.waveDataCopy[n].pos[0],r=this.waveDataCopy[n].startInd||0,l=u.getPointIdxForPx(o,this.waveDataCopy[n].step||1),d=this.waveDataCopy[n].sens,h=this.waveDataCopy[n].step):t==="add"&&(o=e.offsetX-this.addWaveDataCopy[n].pos[0],r=this.addWaveDataCopy[n].startInd||0,l=u.getPointIdxForPx(o,this.addWaveDataCopy[n].step||1),d=this.addWaveDataCopy[n].sens,h=this.addWaveDataCopy[n].step),l+=r,this.$emit("notifyActiveEnlargr",{sens:d,step:h,activeLeadIdx:this.activeLeadIdx,pointIdx:l})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=Math.max(0,e||0),i=u.getPointIdxForPx(t,this.publicStep||1);i!==this.lastScrollPointIdx&&(this.lastScrollPointIdx=i,this.lastScrollLeft=t,this.$emit("notifyScrollPointIdx",{slidIdxs:i,scrollLeft:t}),this.isWaveRangeLoaded(i)?(this.pendingScrollPointIdx=null,this.scrollWaveFrom(i),this.scrollRuler(i),this.scrollArrow(i)):this.pendingScrollPointIdx=i)}scrollWaveFrom(e){this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);const t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,this.updateWaveGroupPoints(this.rowAndColwaveFromGroup,t),this.updateWaveGroupPoints(this.addwaveFromGroup,i)}scrollRuler(e){const t=u.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){this.drawLoopArrow(e),this.drawHeardBeatLine(e),this.drawHeartReact(e)}};C([v.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);C([v.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);C([v.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);C([v.Prop({default:()=>0,type:Number})],exports.default.prototype,"waveDataVersion",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);C([v.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);C([v.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);C([v.Prop({required:!0})],exports.default.prototype,"leadModel",2);C([v.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);C([v.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);C([v.Prop({required:!0})],exports.default.prototype,"gridConfig",2);C([v.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);C([v.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);C([v.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);C([v.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);C([v.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);C([v.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);C([v.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);C([v.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);C([v.Prop({default:()=>0})],exports.default.prototype,"posStart",2);C([_.debounceDecorator(32,{leading:!1,trailing:!0})],exports.default.prototype,"nativeScrollFunc",1);C([_.debounceDecorator(32,{leading:!1,trailing:!0})],exports.default.prototype,"handleScroll",1);exports.default=C([Y.default({name:"Methods"})],exports.default);
|