costy-plus 1.0.10-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.
Files changed (200) hide show
  1. package/README.md +1 -0
  2. package/dist/es/_virtual/_commonjsHelpers.js +4 -0
  3. package/dist/es/_virtual/vueComponentNormalizer.js +30 -0
  4. package/dist/es/_virtual/vuescroll-native.js +4 -0
  5. package/dist/es/index.d.ts +5 -0
  6. package/dist/es/index.js +26 -0
  7. package/dist/es/node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js +201 -0
  8. package/dist/es/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js +1 -0
  9. package/dist/es/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js +12 -0
  10. package/dist/es/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js +13 -0
  11. package/dist/es/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/helpers/metadata.js +10 -0
  12. package/dist/es/node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js +1188 -0
  13. package/dist/es/src/BackgroundGrid/PropsMinix.d.ts +12 -0
  14. package/dist/es/src/BackgroundGrid/PropsMinix.js +60 -0
  15. package/dist/es/src/BackgroundGrid/index.js +6 -0
  16. package/dist/es/src/BackgroundGrid/index.vue.d.ts +19 -0
  17. package/dist/es/src/BackgroundGrid/index.vue_vue_type_script_lang.js +118 -0
  18. package/dist/es/src/BackgroundGrid/index.vue_vue_type_template_lang.js +20 -0
  19. package/dist/es/src/BackgroundGrid/index2.js +24 -0
  20. package/dist/es/src/ECGWave/index.js +6 -0
  21. package/dist/es/src/ECGWave/index.vue.d.ts +15 -0
  22. package/dist/es/src/ECGWave/index.vue_vue_type_script_lang.js +90 -0
  23. package/dist/es/src/ECGWave/index.vue_vue_type_template_lang.js +118 -0
  24. package/dist/es/src/ECGWave/index2.js +24 -0
  25. package/dist/es/src/ECGWave/method.js +841 -0
  26. package/dist/es/src/ECGWave/style/index.css +46 -0
  27. package/dist/es/src/EnlargeWave/index.js +6 -0
  28. package/dist/es/src/EnlargeWave/index.vue.d.ts +10 -0
  29. package/dist/es/src/EnlargeWave/index.vue_vue_type_script_lang.js +56 -0
  30. package/dist/es/src/EnlargeWave/index.vue_vue_type_template_lang.js +178 -0
  31. package/dist/es/src/EnlargeWave/index2.js +24 -0
  32. package/dist/es/src/EnlargeWave/medthod.d.ts +185 -0
  33. package/dist/es/src/EnlargeWave/medthod.js +753 -0
  34. package/dist/es/src/EnlargeWave/style/index.css +93 -0
  35. package/dist/es/src/FCGWave/components/And2V5LeadPower.js +24 -0
  36. package/dist/es/src/FCGWave/components/And2V5LeadPower.vue_vue_type_script_lang.js +1114 -0
  37. package/dist/es/src/FCGWave/components/And2V5LeadPower.vue_vue_type_template_lang.js +31 -0
  38. package/dist/es/src/FCGWave/components/LeadPower12.js +24 -0
  39. package/dist/es/src/FCGWave/components/LeadPower12.vue_vue_type_script_lang.js +376 -0
  40. package/dist/es/src/FCGWave/components/LeadPower12.vue_vue_type_template_lang.js +31 -0
  41. package/dist/es/src/FCGWave/components/PowerHistogram.js +24 -0
  42. package/dist/es/src/FCGWave/components/PowerHistogram.vue_vue_type_script_lang.js +256 -0
  43. package/dist/es/src/FCGWave/components/PowerHistogram.vue_vue_type_template_lang.js +31 -0
  44. package/dist/es/src/FCGWave/index.js +6 -0
  45. package/dist/es/src/FCGWave/index.vue.d.ts +6 -0
  46. package/dist/es/src/FCGWave/index.vue_vue_type_script_lang.js +28 -0
  47. package/dist/es/src/FCGWave/index.vue_vue_type_template_lang.js +38 -0
  48. package/dist/es/src/FCGWave/index2.js +24 -0
  49. package/dist/es/src/FCGWave/method.d.ts +49 -0
  50. package/dist/es/src/FCGWave/method.js +94 -0
  51. package/dist/es/src/FCGWave/style/index.css +43 -0
  52. package/dist/es/src/HFECGWave/components/Detail.js +24 -0
  53. package/dist/es/src/HFECGWave/components/Detail.vue_vue_type_script_lang.js +293 -0
  54. package/dist/es/src/HFECGWave/components/Detail.vue_vue_type_template_lang.js +134 -0
  55. package/dist/es/src/HFECGWave/components/Routine.js +24 -0
  56. package/dist/es/src/HFECGWave/components/Routine.vue_vue_type_script_lang.js +302 -0
  57. package/dist/es/src/HFECGWave/components/Routine.vue_vue_type_template_lang.js +47 -0
  58. package/dist/es/src/HFECGWave/index.js +6 -0
  59. package/dist/es/src/HFECGWave/index.vue.d.ts +6 -0
  60. package/dist/es/src/HFECGWave/index.vue_vue_type_script_lang.js +26 -0
  61. package/dist/es/src/HFECGWave/index.vue_vue_type_template_lang.js +36 -0
  62. package/dist/es/src/HFECGWave/index2.js +24 -0
  63. package/dist/es/src/HFECGWave/method.js +86 -0
  64. package/dist/es/src/HFECGWave/style/index.css +58 -0
  65. package/dist/es/src/MagnifierWave/index.js +24 -0
  66. package/dist/es/src/MagnifierWave/index.vue.d.ts +11 -0
  67. package/dist/es/src/MagnifierWave/index.vue_vue_type_script_lang.js +49 -0
  68. package/dist/es/src/MagnifierWave/index.vue_vue_type_template_lang.js +34 -0
  69. package/dist/es/src/MagnifierWave/medthod.d.ts +78 -0
  70. package/dist/es/src/MagnifierWave/medthod.js +276 -0
  71. package/dist/es/src/MagnifierWave/style/index.css +22 -0
  72. package/dist/es/src/MeasuringRuler/index.js +6 -0
  73. package/dist/es/src/MeasuringRuler/index.vue.d.ts +47 -0
  74. package/dist/es/src/MeasuringRuler/index.vue_vue_type_script_lang.js +300 -0
  75. package/dist/es/src/MeasuringRuler/index.vue_vue_type_template_lang.js +17 -0
  76. package/dist/es/src/MeasuringRuler/index2.js +24 -0
  77. package/dist/es/src/MeasuringRuler/style/index.css +0 -0
  78. package/dist/es/src/ParallelRuler/index.js +6 -0
  79. package/dist/es/src/ParallelRuler/index.vue.d.ts +46 -0
  80. package/dist/es/src/ParallelRuler/index.vue_vue_type_script_lang.js +312 -0
  81. package/dist/es/src/ParallelRuler/index.vue_vue_type_template_lang.js +17 -0
  82. package/dist/es/src/ParallelRuler/index2.js +24 -0
  83. package/dist/es/src/Text/index.js +6 -0
  84. package/dist/es/src/Text/index.vue.d.ts +7 -0
  85. package/dist/es/src/Text/index.vue_vue_type_script_lang.js +26 -0
  86. package/dist/es/src/Text/index.vue_vue_type_template_lang.js +10 -0
  87. package/dist/es/src/Text/index2.js +24 -0
  88. package/dist/es/src/Text/style/index.css +6 -0
  89. package/dist/es/src/Text/style/other.css +3 -0
  90. package/dist/es/src/index.d.ts +8 -0
  91. package/dist/es/src/index.js +18 -0
  92. package/dist/es/static/images/heart.jpg +0 -0
  93. package/dist/es/static/images/heartSection.jpg +0 -0
  94. package/dist/es/typings/Common.d.ts +140 -0
  95. package/dist/es/typings/MXBackgroundGrid.d.ts +24 -0
  96. package/dist/es/typings/MXECGWaveComponents.d.ts +151 -0
  97. package/dist/es/typings/MXFCGWaveComponents.d.ts +10 -0
  98. package/dist/es/typings/MXMeasuringRuler.d.ts +14 -0
  99. package/dist/es/typings/MXParallelRuler.d.ts +14 -0
  100. package/dist/es/typings/component.d.ts +3 -0
  101. package/dist/lib/_virtual/_commonjsHelpers.js +1 -0
  102. package/dist/lib/_virtual/vueComponentNormalizer.js +1 -0
  103. package/dist/lib/_virtual/vuescroll-native.js +1 -0
  104. package/dist/lib/index.d.ts +5 -0
  105. package/dist/lib/index.js +1 -0
  106. package/dist/lib/node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js +5 -0
  107. package/dist/lib/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js +1 -0
  108. package/dist/lib/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js +1 -0
  109. package/dist/lib/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js +1 -0
  110. package/dist/lib/node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/helpers/metadata.js +1 -0
  111. package/dist/lib/node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js +4 -0
  112. package/dist/lib/src/BackgroundGrid/PropsMinix.d.ts +12 -0
  113. package/dist/lib/src/BackgroundGrid/PropsMinix.js +1 -0
  114. package/dist/lib/src/BackgroundGrid/index.js +1 -0
  115. package/dist/lib/src/BackgroundGrid/index.vue.d.ts +19 -0
  116. package/dist/lib/src/BackgroundGrid/index.vue_vue_type_script_lang.js +1 -0
  117. package/dist/lib/src/BackgroundGrid/index.vue_vue_type_template_lang.js +1 -0
  118. package/dist/lib/src/BackgroundGrid/index2.js +1 -0
  119. package/dist/lib/src/ECGWave/index.js +1 -0
  120. package/dist/lib/src/ECGWave/index.vue.d.ts +15 -0
  121. package/dist/lib/src/ECGWave/index.vue_vue_type_script_lang.js +1 -0
  122. package/dist/lib/src/ECGWave/index.vue_vue_type_template_lang.js +1 -0
  123. package/dist/lib/src/ECGWave/index2.js +1 -0
  124. package/dist/lib/src/ECGWave/method.js +1 -0
  125. package/dist/lib/src/ECGWave/style/index.css +46 -0
  126. package/dist/lib/src/EnlargeWave/index.js +1 -0
  127. package/dist/lib/src/EnlargeWave/index.vue.d.ts +10 -0
  128. package/dist/lib/src/EnlargeWave/index.vue_vue_type_script_lang.js +1 -0
  129. package/dist/lib/src/EnlargeWave/index.vue_vue_type_template_lang.js +1 -0
  130. package/dist/lib/src/EnlargeWave/index2.js +1 -0
  131. package/dist/lib/src/EnlargeWave/medthod.d.ts +185 -0
  132. package/dist/lib/src/EnlargeWave/medthod.js +1 -0
  133. package/dist/lib/src/EnlargeWave/style/index.css +93 -0
  134. package/dist/lib/src/FCGWave/components/And2V5LeadPower.js +1 -0
  135. package/dist/lib/src/FCGWave/components/And2V5LeadPower.vue_vue_type_script_lang.js +1 -0
  136. package/dist/lib/src/FCGWave/components/And2V5LeadPower.vue_vue_type_template_lang.js +1 -0
  137. package/dist/lib/src/FCGWave/components/LeadPower12.js +1 -0
  138. package/dist/lib/src/FCGWave/components/LeadPower12.vue_vue_type_script_lang.js +1 -0
  139. package/dist/lib/src/FCGWave/components/LeadPower12.vue_vue_type_template_lang.js +1 -0
  140. package/dist/lib/src/FCGWave/components/PowerHistogram.js +1 -0
  141. package/dist/lib/src/FCGWave/components/PowerHistogram.vue_vue_type_script_lang.js +3 -0
  142. package/dist/lib/src/FCGWave/components/PowerHistogram.vue_vue_type_template_lang.js +1 -0
  143. package/dist/lib/src/FCGWave/index.js +1 -0
  144. package/dist/lib/src/FCGWave/index.vue.d.ts +6 -0
  145. package/dist/lib/src/FCGWave/index.vue_vue_type_script_lang.js +1 -0
  146. package/dist/lib/src/FCGWave/index.vue_vue_type_template_lang.js +1 -0
  147. package/dist/lib/src/FCGWave/index2.js +1 -0
  148. package/dist/lib/src/FCGWave/method.d.ts +49 -0
  149. package/dist/lib/src/FCGWave/method.js +1 -0
  150. package/dist/lib/src/FCGWave/style/index.css +43 -0
  151. package/dist/lib/src/HFECGWave/components/Detail.js +1 -0
  152. package/dist/lib/src/HFECGWave/components/Detail.vue_vue_type_script_lang.js +1 -0
  153. package/dist/lib/src/HFECGWave/components/Detail.vue_vue_type_template_lang.js +1 -0
  154. package/dist/lib/src/HFECGWave/components/Routine.js +1 -0
  155. package/dist/lib/src/HFECGWave/components/Routine.vue_vue_type_script_lang.js +1 -0
  156. package/dist/lib/src/HFECGWave/components/Routine.vue_vue_type_template_lang.js +1 -0
  157. package/dist/lib/src/HFECGWave/index.js +1 -0
  158. package/dist/lib/src/HFECGWave/index.vue.d.ts +6 -0
  159. package/dist/lib/src/HFECGWave/index.vue_vue_type_script_lang.js +1 -0
  160. package/dist/lib/src/HFECGWave/index.vue_vue_type_template_lang.js +1 -0
  161. package/dist/lib/src/HFECGWave/index2.js +1 -0
  162. package/dist/lib/src/HFECGWave/method.js +1 -0
  163. package/dist/lib/src/HFECGWave/style/index.css +58 -0
  164. package/dist/lib/src/MagnifierWave/index.js +1 -0
  165. package/dist/lib/src/MagnifierWave/index.vue.d.ts +11 -0
  166. package/dist/lib/src/MagnifierWave/index.vue_vue_type_script_lang.js +1 -0
  167. package/dist/lib/src/MagnifierWave/index.vue_vue_type_template_lang.js +1 -0
  168. package/dist/lib/src/MagnifierWave/medthod.d.ts +78 -0
  169. package/dist/lib/src/MagnifierWave/medthod.js +1 -0
  170. package/dist/lib/src/MagnifierWave/style/index.css +22 -0
  171. package/dist/lib/src/MeasuringRuler/index.js +1 -0
  172. package/dist/lib/src/MeasuringRuler/index.vue.d.ts +47 -0
  173. package/dist/lib/src/MeasuringRuler/index.vue_vue_type_script_lang.js +3 -0
  174. package/dist/lib/src/MeasuringRuler/index.vue_vue_type_template_lang.js +1 -0
  175. package/dist/lib/src/MeasuringRuler/index2.js +1 -0
  176. package/dist/lib/src/MeasuringRuler/style/index.css +0 -0
  177. package/dist/lib/src/ParallelRuler/index.js +1 -0
  178. package/dist/lib/src/ParallelRuler/index.vue.d.ts +46 -0
  179. package/dist/lib/src/ParallelRuler/index.vue_vue_type_script_lang.js +1 -0
  180. package/dist/lib/src/ParallelRuler/index.vue_vue_type_template_lang.js +1 -0
  181. package/dist/lib/src/ParallelRuler/index2.js +1 -0
  182. package/dist/lib/src/Text/index.js +1 -0
  183. package/dist/lib/src/Text/index.vue.d.ts +7 -0
  184. package/dist/lib/src/Text/index.vue_vue_type_script_lang.js +1 -0
  185. package/dist/lib/src/Text/index.vue_vue_type_template_lang.js +1 -0
  186. package/dist/lib/src/Text/index2.js +1 -0
  187. package/dist/lib/src/Text/style/index.css +6 -0
  188. package/dist/lib/src/Text/style/other.css +3 -0
  189. package/dist/lib/src/index.d.ts +8 -0
  190. package/dist/lib/src/index.js +1 -0
  191. package/dist/lib/static/images/heart.jpg +0 -0
  192. package/dist/lib/static/images/heartSection.jpg +0 -0
  193. package/dist/lib/typings/Common.d.ts +140 -0
  194. package/dist/lib/typings/MXBackgroundGrid.d.ts +24 -0
  195. package/dist/lib/typings/MXECGWaveComponents.d.ts +151 -0
  196. package/dist/lib/typings/MXFCGWaveComponents.d.ts +10 -0
  197. package/dist/lib/typings/MXMeasuringRuler.d.ts +14 -0
  198. package/dist/lib/typings/MXParallelRuler.d.ts +14 -0
  199. package/dist/lib/typings/component.d.ts +3 -0
  200. package/package.json +27 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("vue"),_=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const h=require("../../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),m=require("../../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js"),D=require("../../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js"),b=require("@costy-plus/utils"),d=require("zrender"),F=require("../../BackgroundGrid/index2.js"),x=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},G=x(P);var z=Object.defineProperty,j=Object.getOwnPropertyDescriptor,l=(t,e,o,r)=>{for(var i=r>1?void 0:r?j(e,o):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(i=(r?a(e,o,i):a(i))||i);return r&&i&&z(e,o,i),i};exports.default=class extends G.default{constructor(){super(...arguments),this.AssistCtx=Object.freeze(null),this.sceneIns=Object.freeze(null),this.waveFormGroup=Object.freeze(null),this.arrowGroup=Object.freeze(null),this.scrollIdx=Object.freeze(0),this.currentHeardBeat=Object.freeze({heardBeat:null,ele:null}),this.slidingWindowInfo=Object.freeze({}),this.vuescrollWH={width:0,height:0}}get canvasContainer(){var t;return{width:this.width,height:this.height-(this.vuescrollConfig.isShow&&parseInt(`${(t=this.vuescrollConfig.bar)==null?void 0:t.size}`)||0)||0}}watchWidth(){this.repaint()}watchHeight(){this.repaint()}watchFormatData(){this.repaint()}repaint(){var t,e;(t=this.sceneIns)==null||t.clear(),(e=this.sceneIns)==null||e.resize({width:this.canvasContainer.width,height:this.canvasContainer.height}),this.combinationDrawing()}destroyed(){var t,e,o;(t=this.waveFormGroup)==null||t.removeAll(),(e=this.arrowGroup)==null||e.removeAll(),(o=this.sceneIns)==null||o.dispose()}created(){this.initConfig()}initConfig(){this.slidingWindowInfo={points:0,startInd:0,endInd:0},this.currentHeardBeat={heardBeat:null,ele:null},this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.waveFormGroup=new d.Group({name:"waveForm"}),this.arrowGroup=new d.Group({name:"arrowGroup"}),this.initSlidingWindowInfo()}mounted(){this.initWaveFormPeer(),this.combinationDrawing()}combinationDrawing(){this.drawWaveFrom(),this.drawLoopArrow(this.scrollIdx)}initWaveFormPeer(){const t=document.getElementById("wave-from-box");this.sceneIns=d.init(t,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:2});const e=document.getElementById("MXRoutine_Grid");this.AssistCtx=e.getContext("2d")}initSlidingWindowInfo(){var o,r;const t=((o=this.formatData)==null?void 0:o.step)||0;this.vuescrollConfig.isShow&&(this.vuescrollWH.width=this.canvasContainer.width+(((r=this.formatData)==null?void 0:r.dataPxLen)||0)-this.width);const e=Math.ceil(this.width/t);this.slidingWindowInfo={points:e,startInd:0,endInd:e}}drawWaveFrom(){var t;this.createLeadName(),this.createWaveFrom(),(t=this.sceneIns)==null||t.add(this.waveFormGroup)}createLeadName(){var t;(t=this.sceneIns)==null||t.add(new d.Text({style:{x:this.leadConfig.fontSize*.5,y:this.canvasContainer.height/2+this.leadConfig.fontSize*2,text:b.LeadNameTexts[1],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}))}getRednerPoints(){var r;const t=[],e=this.canvasContainer.height/2;let o=[];for(let i=1;i<=1;i++)o=((r=this.formatData)==null?void 0:r.processedData.handleData.Data[i])||[],t.push({pos:[0,e],startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0,data:o.slice(this.slidingWindowInfo.startInd,this.slidingWindowInfo.endInd).map((s,a)=>{var u;return[a*(((u=this.formatData)==null?void 0:u.step)||0),-s]})});return t}createWaveFrom(){var e,o;(e=this.waveFormGroup)==null||e.removeAll();let t=this.getRednerPoints();for(let r=0;r<t.length;r++)(o=this.waveFormGroup)==null||o.add(new d.Polyline({cursor:"",shape:{points:t[r].data.map(([i,s])=>[i+t[r].pos[0],s+t[r].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth}}));t=null}drawLoopArrow(t=0){var i,s,a,u,w,v,g,I,y,W;(i=this.arrowGroup)==null||i.removeAll(),this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=((s=this.formatData)==null?void 0:s.heartBeatPosition[0])||null,this.$emit("notifyHeardBeat",d.util.clone(((a=this.formatData)==null?void 0:a.heartBeatPosition[0])||null)));let e=0;const o=20;let r=0;for(let p=0;p<(((u=this.formatData)==null?void 0:u.heartBeatPosition)||[]).length;p++){const n=(w=this.formatData)==null?void 0:w.heartBeatPosition[p];if(r=((n==null?void 0:n.position)||0)-t,!(t>((n==null?void 0:n.position)||0))){if(((n==null?void 0:n.position)||0)-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break;e=r*(((v=this.formatData)==null?void 0:v.step)||0)-9.5,(y=this.arrowGroup)==null||y.add(new d.Polygon({name:"arrow_box",shape:{points:[[4+e,0+o],[15+e,0+o],[15+e,10+o],[19+e,10+o],[9.5+e,22+o],[0+e,10+o],[4+e,10+o],[4+e,0+o]]},style:{fill:((I=(g=this.currentHeardBeat)==null?void 0:g.heardBeat)==null?void 0:I.index)===(n==null?void 0:n.index)?"blue":"#ccc"},onclick:f=>{var C;f.target.attr({style:{fill:"blue"}}),(C=this.arrowGroup)==null||C.children().filter(c=>c.name==="arrow_box").forEach(c=>{c.id!==f.target.id&&c.attr({style:{fill:"#ccc"}})}),this.arrowLoopClick(n,f.target)}}))}}(W=this.sceneIns)==null||W.add(this.arrowGroup)}arrowLoopClick(t,e){this.$emit("notifyHeardBeat",d.util.clone(t)),this.currentHeardBeat.heardBeat=t,this.currentHeardBeat.ele=e}handleScroll(t,e,o){var r;if(e.type==="horizontal"){e.scrollLeft=e.scrollLeft||0;const i=b.getPointIdxForPx(e.scrollLeft,((r=this.formatData)==null?void 0:r.step)||1);this.scrollIdx=i,this.scrollWaveFrom(i),this.scrollArrow(i),this.$emit("notifyScrollPointIdx",i)}}scrollWaveFrom(t){var o;this.slidingWindowInfo.startInd=t,this.slidingWindowInfo.endInd=t+(this.slidingWindowInfo.points||0);let e=this.getRednerPoints();(o=this.waveFormGroup)==null||o.eachChild((r,i)=>{i=i||0,r.attr({shape:{points:e[i].data.map(([s,a])=>[s+e[i].pos[0],a+e[i].pos[1]])}})}),e=null}scrollArrow(t){var e,o;(e=this.arrowGroup)==null||e.removeAll(),(o=this.sceneIns)==null||o.remove(this.arrowGroup),this.drawLoopArrow(t)}};l([h.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"width",2);l([h.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"height",2);l([h.Prop({required:!0})],exports.default.prototype,"gridConfig",2);l([h.Prop({default:()=>({isShow:!0,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"vuescrollConfig",2);l([h.Prop({required:!0})],exports.default.prototype,"formatData",2);l([h.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);l([m.Watch("width")],exports.default.prototype,"watchWidth",1);l([m.Watch("height")],exports.default.prototype,"watchHeight",1);l([m.Watch("formatData",{deep:!0})],exports.default.prototype,"watchFormatData",1);exports.default=l([_.default({name:"Routine",components:{vueScroll:D.default,MXBackgroundGrid:F.default}})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var r=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("div",{style:{width:`${e.width}px`,height:`${e.height}px`},attrs:{id:"routine-box"}},[t("MXBackgroundGrid",{attrs:{width:e.canvasContainer.width,height:e.canvasContainer.height,"grid-config":e.gridConfig,"layer-id":"MXRoutine_Grid"}}),t("div",{attrs:{id:"wave-from-box"}}),t("div",{staticClass:"scroll-box",style:{width:`${e.width}px`,height:`${e.height}px`}},[t("vueScroll",{ref:"vueScroll",attrs:{ops:e.vuescrollConfig},on:{"handle-scroll":e.handleScroll}},[t("div",{staticClass:"scroll-empty",style:{width:`${e.vuescrollWH.width}px`,height:`${e.vuescrollWH.height}px`}})])],1)],1)},l=[];exports.render=r;exports.staticRenderFns=l;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index2.js"),t=require("@costy-plus/utils"),s=t.withInstall(e.default);exports.default=s;
@@ -0,0 +1,6 @@
1
+ import MethodsMinix from '../HFECGWave/method';
2
+ declare const HFECGWave_base: import("vue-class-component/lib/declarations").VueClass<MethodsMinix>;
3
+ declare class HFECGWave extends HFECGWave_base {
4
+ }
5
+ declare const _sfc_main: typeof HFECGWave;
6
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const l=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const a=require("./components/Routine.js"),d=require("./components/Detail.js"),c=require("./method.js");var i=Object.defineProperty,p=Object.getOwnPropertyDescriptor,m=(u,o,t,s)=>{for(var e=s>1?void 0:s?p(o,t):o,n=u.length-1,r;n>=0;n--)(r=u[n])&&(e=(s?r(o,t,e):r(e))||e);return s&&e&&i(o,t,e),e};exports.default=class extends l.mixins(c.default){};exports.default=m([l.default({name:"HFECGWave",components:{Routine:a.default,Detail:d.default}})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var i=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{style:{width:`${e.width}px`,height:`${e.height}px`},attrs:{id:"hfecg-wave-form-main"}},[t("Routine",{attrs:{width:e.routineWH.width,height:e.routineWH.height,"grid-config":e.gridConfig,"format-data":e.formatData,"vuescroll-config":e.vuescrollConfig},on:{notifyHeardBeat:e.notifyHeardBeat}}),e.currentHeardBeat?t("Detail",e._g({attrs:{width:e.detailWH.width,height:e.detailWH.height,"grid-config":e.gridConfig,"format-data":e.formatData,"lead-config":e.leadConfig,"heard-beat":e.currentHeardBeat}},e.$listeners)):e._e()],1)},a=[];exports.render=i;exports.staticRenderFns=a;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./index.vue_vue_type_script_lang.js"),t=require("./index.vue_vue_type_template_lang.js"),_=require("../../_virtual/vueComponentNormalizer.js"),n={};var l=_.default(u.default,t.render,t.staticRenderFns,!1,r,null,null,null);function r(s){for(let e in n)this[e]=n[e]}const o=function(){return l.exports}();exports.default=o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),p=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const u=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},f=a(l);var c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,o=(e,t,i,n)=>{for(var r=n>1?void 0:n?h(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&c(t,i,r),r};exports.default=class extends f.default{constructor(){super(...arguments),this.currentHeardBeat=null}get routineWH(){return{width:this.width,height:this.height*.25}}get detailWH(){return{width:this.width,height:this.height-this.routineWH.height-10}}notifyHeardBeat(e){var t;((t=this.currentHeardBeat)==null?void 0:t.index)!==(e==null?void 0:e.index)&&(this.currentHeardBeat=e)}};o([u.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);o([u.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);o([u.Prop({required:!0})],exports.default.prototype,"gridConfig",2);o([u.Prop({required:!0})],exports.default.prototype,"formatData",2);o([u.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:12})})],exports.default.prototype,"leadConfig",2);o([u.Prop({default:()=>({isShow:!0,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"6px"}})})],exports.default.prototype,"vuescrollConfig",2);exports.default=o([p.default({name:"Methods"})],exports.default);
@@ -0,0 +1,58 @@
1
+ #hfecg-wave-form-main #routine-box {
2
+ position: relative;
3
+ margin-bottom: 10px;
4
+ }
5
+ #hfecg-wave-form-main #routine-box #wave-from-box,
6
+ #hfecg-wave-form-main #routine-box .scroll-box {
7
+ position: absolute;
8
+ left: 0;
9
+ top: 0;
10
+ }
11
+ #hfecg-wave-form-main #routine-box #wave-from-box {
12
+ z-index: 1;
13
+ }
14
+ #hfecg-wave-form-main #routine-box .scroll-box {
15
+ z-index: 0;
16
+ }
17
+ #hfecg-wave-form-main #detail-main {
18
+ position: relative;
19
+ }
20
+ #hfecg-wave-form-main #detail-main .el-input-number .el-input__inner {
21
+ padding-left: 4px;
22
+ padding-right: 4px;
23
+ }
24
+ #hfecg-wave-form-main #detail-main .detail-table {
25
+ position: absolute;
26
+ right: 0;
27
+ top: 0;
28
+ width: 180px;
29
+ font-size: 12px;
30
+ }
31
+ #hfecg-wave-form-main #detail-main .detail-table .el-row:first-child {
32
+ background-color: #f8f8f9;
33
+ color: #495060;
34
+ }
35
+ #hfecg-wave-form-main #detail-main .detail-table .el-row:last-child .el-col {
36
+ border-bottom: 1px solid #e9eaec;
37
+ }
38
+ #hfecg-wave-form-main #detail-main .detail-table .el-col {
39
+ display: flex;
40
+ justify-content: center;
41
+ align-items: center;
42
+ font-size: 12px;
43
+ border: 1px solid #e9eaec;
44
+ border-bottom: 0;
45
+ }
46
+ #hfecg-wave-form-main #detail-main .detail-table .el-col:not(:first-child) {
47
+ border-left: 0;
48
+ }
49
+ #hfecg-wave-form-main #detail-main .mx-background-grid-box {
50
+ position: absolute;
51
+ left: -999999px;
52
+ top: -999999px;
53
+ }
54
+ #hfecg-wave-form-main #detail-main #detail-from-box {
55
+ position: absolute;
56
+ left: 0;
57
+ top: 0;
58
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./index.vue_vue_type_script_lang.js"),t=require("./index.vue_vue_type_template_lang.js"),_=require("../../_virtual/vueComponentNormalizer.js"),n={};var l=_.default(u.default,t.render,t.staticRenderFns,!1,r,null,null,null);function r(i){for(let e in n)this[e]=n[e]}const o=function(){return l.exports}();exports.default=o;
@@ -0,0 +1,11 @@
1
+ import Methods from './medthod';
2
+ declare const MXMagnifierWave_base: import("vue-class-component/lib/declarations").VueClass<Methods>;
3
+ declare class MXMagnifierWave extends MXMagnifierWave_base {
4
+ protected created(): void;
5
+ protected mounted(): void;
6
+ protected init(): void;
7
+ protected initWaveFormPeer(): void;
8
+ protected combinationDrawing(): void;
9
+ }
10
+ declare const _sfc_main: typeof MXMagnifierWave;
11
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const a=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const d=require("../BackgroundGrid/index2.js"),u=require("zrender"),c=require("./medthod.js");var m=Object.defineProperty,l=Object.getOwnPropertyDescriptor,v=(i,t,r,n)=>{for(var e=n>1?void 0:n?l(t,r):t,s=i.length-1,o;s>=0;s--)(o=i[s])&&(e=(n?o(t,r,e):o(e))||e);return n&&e&&m(t,r,e),e};exports.default=class extends a.mixins(c.default){created(){this.initConfig()}mounted(){this.init()}init(){this.magnifierWave=document.getElementById("mx-magnifier-wave")||null,this.waveBoxAddToEventListener(),this.initWaveFormPeer(),this.combinationDrawing()}initWaveFormPeer(){const i=document.getElementById("float-wave-from-box");this.sceneIns=u.init(i,{width:this.width/2,height:this.height,devicePixelRatio:2});const t=document.getElementById("MXMagnifierGrid");this.AssistCtx=t.getContext("2d")}combinationDrawing(){this.createLeadHead(),this.createLeadName(),this.createWaveFrom()}};exports.default=v([a.default({name:"MXMagnifierWave",components:{MXBackgroundGrid:d.default}})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:e.className,style:{width:`${e.containerWH.width}px`,height:`${e.containerWH.height}px`},attrs:{id:"mx-magnifier-wave"}},[i("div",{staticClass:"float-wave-box",class:{left:e.isLeft}},[i("MXBackgroundGrid",{attrs:{width:e.containerWH.width/2,height:e.containerWH.height,"grid-config":e.gridConfig,"layer-id":"MXMagnifierGrid",magnification:e.magnification}}),i("div",{attrs:{id:"float-wave-from-box"}})],1)])},r=[];exports.render=a;exports.staticRenderFns=r;
@@ -0,0 +1,78 @@
1
+ import { Vue } from 'vue-property-decorator';
2
+ import { ZRenderType, Polyline, Text } from 'zrender';
3
+ export default class Methods extends Vue {
4
+ protected className: string;
5
+ protected width: number;
6
+ protected height: number;
7
+ protected gridConfig: MXGridConfig;
8
+ protected longLeadConfig: number[];
9
+ /** 每个波形区域块高度 */
10
+ protected splitBlockHeight: number;
11
+ /** 分割点(也就是每个波形展示区域的 width px) */
12
+ protected splitPoint: number;
13
+ /** 走纸速度 */
14
+ protected speedValue: number;
15
+ /** 增益 */
16
+ protected sens: number;
17
+ /** 数据两点之间的距离(导联) */
18
+ protected step: number;
19
+ protected heartFight: HeartFight;
20
+ protected leadHeadConfig: LeadHeadConfig;
21
+ /** 视图模式正常波形原源数据 */
22
+ protected waveData: {
23
+ pos: [number, number];
24
+ data: number[][];
25
+ startInd: number;
26
+ endInd: number;
27
+ }[];
28
+ /** 加导联波形源数据 */
29
+ protected addWaveData: {
30
+ pos: [number, number];
31
+ data: number[][];
32
+ startInd: number;
33
+ endInd: number;
34
+ }[];
35
+ /** 单导模式下波形源数据 */
36
+ protected singleWaveData: {
37
+ pos: [number, number];
38
+ data: number[][];
39
+ startInd: number;
40
+ endInd: number;
41
+ }[];
42
+ protected leadConfig: MXLeadConfig;
43
+ protected normalLeadNames: number[];
44
+ /** 放大倍数 */
45
+ protected magnification: number;
46
+ protected sceneIns: Readonly<ZRenderType | null>;
47
+ protected AssistCtx: Readonly<CanvasRenderingContext2D | null>;
48
+ protected leadNameIns: Readonly<Text | null>;
49
+ protected waveFromIns: Readonly<Polyline | null>;
50
+ /** 画布可绘制的点数量 */
51
+ protected drawPoints: number;
52
+ /** 最外层盒子 */
53
+ protected magnifierWave: Readonly<HTMLDivElement | null>;
54
+ /** 中心点 */
55
+ protected centerX: number;
56
+ /** 触摸上下增加模糊距离 */
57
+ protected fuzzyDistance: number;
58
+ protected isLeft: boolean;
59
+ protected get containerWH(): {
60
+ width: number;
61
+ height: number;
62
+ };
63
+ protected destroyed(): void;
64
+ protected initConfig(): void;
65
+ protected waveBoxAddToEventListener(): void;
66
+ protected waveBoxMousemove(e: MouseEvent & {
67
+ layerX: number;
68
+ layerY: number;
69
+ }): void;
70
+ /** 创建 导联头 图形 */
71
+ protected createLeadHead(): void;
72
+ /** 创建 导联名称 */
73
+ protected createLeadName(): void;
74
+ /** 创建导联图形 */
75
+ protected createWaveFrom(): void;
76
+ /** 找到当前选中波形数据 */
77
+ protected findTheCurrentLead(pointX: number, pointY: number): void;
78
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("vue"),g=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const n=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),h=require("@costy-plus/utils"),f=require("zrender"),y=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},W=y(m);var D=Object.defineProperty,w=Object.getOwnPropertyDescriptor,o=(e,a,s,i)=>{for(var d=i>1?void 0:i?w(a,s):a,r=e.length-1,l;r>=0;r--)(l=e[r])&&(d=(i?l(a,s,d):l(d))||d);return i&&d&&D(a,s,d),d};exports.default=class extends W.default{constructor(){super(...arguments),this.sceneIns=Object.freeze(null),this.AssistCtx=Object.freeze(null),this.leadNameIns=Object.freeze(null),this.waveFromIns=Object.freeze(null),this.drawPoints=Object.freeze(0),this.magnifierWave=Object.freeze(null),this.centerX=Object.freeze(0),this.fuzzyDistance=Object.freeze(15),this.isLeft=!0}get containerWH(){return{width:this.width,height:this.height-2}}destroyed(){var e;(e=this.sceneIns)==null||e.dispose()}initConfig(){this.centerX=this.containerWH.width/2,this.drawPoints=h.getPointIdxForPx(this.containerWH.width-this.leadHeadConfig.leadHedeWidth,this.step*this.magnification)}waveBoxAddToEventListener(){var e,a;(e=this.magnifierWave)==null||e.addEventListener("mousemove",this.waveBoxMousemove),(a=this.magnifierWave)==null||a.addEventListener("touchmove",this.waveBoxMousemove),this.$once("hook:beforeDestroy",()=>{var s,i;(s=this.magnifierWave)==null||s.removeEventListener("mousemove",this.waveBoxMousemove),(i=this.magnifierWave)==null||i.removeEventListener("touchmove",this.waveBoxMousemove)})}waveBoxMousemove(e){e.preventDefault(),e.stopPropagation(),e.offsetX<this.centerX||e.layerX<this.centerX?this.isLeft=!1:this.isLeft=!0,this.findTheCurrentLead(e.offsetX||e.layerX,e.offsetY||e.layerY)}createLeadHead(){var i;const a=this.containerWH.height/2,s=this.leadHeadConfig.leadHedeWidth/4;(i=this.sceneIns)==null||i.add(new f.Polyline({cursor:"",shape:{points:[[0+0,0+a],[s+0,0+a],[s+0,-this.sens*this.magnification+a],[3*s+0,-this.sens*this.magnification+a],[3*s+0,0+a],[4*s+0,0+a]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}}))}createLeadName(){var e;this.leadNameIns=new f.Text({style:{x:this.leadHeadConfig.leadHedeWidth,y:this.containerWH.height/2-this.leadConfig.fontSize,text:"",fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}),(e=this.sceneIns)==null||e.add(this.leadNameIns)}createWaveFrom(){var e;this.waveFromIns=new f.Polyline({cursor:"",shape:{points:[]},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth}}),(e=this.sceneIns)==null||e.add(this.waveFromIns)}findTheCurrentLead(e,a){var r,l,u;let s=0,i,d="";if(!i&&this.singleWaveData.length){s=this.singleWaveData[0].data[this.singleWaveData[0].data.length-1][0]+this.singleWaveData[0].pos[0];for(let t=0;t<this.singleWaveData.length;t++)if(!(a<this.singleWaveData[t].pos[1]-this.sens-this.fuzzyDistance||a>this.singleWaveData[t].pos[1]+this.fuzzyDistance)&&!(e<this.leadHeadConfig.leadHedeWidth||e>s)){d=h.LeadNameTexts[this.heartFight.defaultSelect],i=this.singleWaveData[t];break}}if(!i&&this.addWaveData.length){s=this.addWaveData[0].data[this.addWaveData[0].data.length-1][0]+this.addWaveData[0].pos[0];for(let t=0;t<this.addWaveData.length;t++)if(!(a<this.addWaveData[t].pos[1]-this.sens-this.fuzzyDistance||a>this.addWaveData[t].pos[1]+this.fuzzyDistance)&&!(e<this.leadHeadConfig.leadHedeWidth||e>s)){d=h.LeadNameTexts[this.longLeadConfig[t]],i=this.addWaveData[t];break}}if(!i&&this.waveData.length){s=this.waveData[0].data[this.waveData[0].data.length-1][0]+this.waveData[0].pos[0]-this.leadHeadConfig.leadHedeWidth;for(let t=0;t<this.waveData.length;t++)if(!(a<this.waveData[t].pos[1]-this.sens-this.fuzzyDistance||a>this.waveData[t].pos[1]+this.fuzzyDistance)&&!(e<this.waveData[t].pos[0]||e>this.waveData[t].pos[0]+s)){d=h.LeadNameTexts[this.normalLeadNames[t]]||"",i=this.waveData[t];break}}if(d!==((r=this.leadNameIns)==null?void 0:r.style.text)&&d!==""&&((l=this.leadNameIns)==null||l.attr({style:{text:d}})),i){const t=this.containerWH.height/2,p=h.getPointIdxForPx(e-i.pos[0],this.step);(u=this.waveFromIns)==null||u.attr({shape:{points:i.data.slice(p,p+this.drawPoints).map(([P,c],v)=>[v*this.step*this.magnification+this.leadHeadConfig.leadHedeWidth,c*this.magnification+t])}})}}};o([n.Prop({default:()=>""})],exports.default.prototype,"className",2);o([n.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);o([n.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);o([n.Prop({required:!0})],exports.default.prototype,"gridConfig",2);o([n.Prop({default:()=>[1,6,10]})],exports.default.prototype,"longLeadConfig",2);o([n.Prop({default:0})],exports.default.prototype,"splitBlockHeight",2);o([n.Prop({default:0})],exports.default.prototype,"splitPoint",2);o([n.Prop({required:!0})],exports.default.prototype,"speedValue",2);o([n.Prop({default:1})],exports.default.prototype,"sens",2);o([n.Prop({default:1})],exports.default.prototype,"step",2);o([n.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1})})],exports.default.prototype,"heartFight",2);o([n.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);o([n.Prop({default:()=>[]})],exports.default.prototype,"waveData",2);o([n.Prop({default:()=>[]})],exports.default.prototype,"addWaveData",2);o([n.Prop({default:()=>[]})],exports.default.prototype,"singleWaveData",2);o([n.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);o([n.Prop({required:!0})],exports.default.prototype,"normalLeadNames",2);o([n.Prop({default:5})],exports.default.prototype,"magnification",2);exports.default=o([g.default({name:"Methods"})],exports.default);
@@ -0,0 +1,22 @@
1
+ #mx-magnifier-wave {
2
+ position: relative;
3
+ cursor: url(data:image/png;base64,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), auto;
4
+ }
5
+ #mx-magnifier-wave .float-wave-box {
6
+ position: absolute;
7
+ height: 100%;
8
+ width: 50%;
9
+ top: 0;
10
+ right: 0;
11
+ border: 1px solid #ccc;
12
+ pointer-events: none;
13
+ background-color: #fff;
14
+ }
15
+ #mx-magnifier-wave .float-wave-box.left {
16
+ left: 0;
17
+ }
18
+ #mx-magnifier-wave .float-wave-box #float-wave-from-box {
19
+ position: absolute;
20
+ left: 0;
21
+ top: 0;
22
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index2.js"),t=require("@costy-plus/utils"),u=t.withInstall(e.default);exports.default=u;
@@ -0,0 +1,47 @@
1
+ import { Vue } from 'vue-property-decorator';
2
+ import { ZRenderType, Group, Rect, ElementEvent, Circle, Text } from 'zrender';
3
+ declare class MXMeasuringRuler extends Vue {
4
+ protected width: number;
5
+ protected height: number;
6
+ protected config: MXMeasuringRulerConfig;
7
+ /** 走纸速度 */
8
+ protected speedValue: number;
9
+ /** 小格子距离 */
10
+ protected cellMg: number;
11
+ /** 放大倍数 */
12
+ protected magnification: number;
13
+ /** 增益 */
14
+ protected sens: number;
15
+ protected className: string;
16
+ protected sceneIns: Readonly<ZRenderType | null>;
17
+ protected measuringRulerGroup: Readonly<Group | null>;
18
+ protected rectIns: Readonly<Rect | null>;
19
+ protected textIns: Readonly<Text | null>;
20
+ protected fontFamily: string;
21
+ /** 左上,右上,右下,左下 */
22
+ protected circleList: readonly Circle[];
23
+ protected isMouseDown: Readonly<boolean>;
24
+ protected circleDragPos: Readonly<{
25
+ x: number;
26
+ y: number;
27
+ }>;
28
+ protected destroyed(): void;
29
+ protected created(): void;
30
+ protected initConfig(): void;
31
+ protected mounted(): void;
32
+ protected init(): void;
33
+ protected calcText(): void;
34
+ protected circleHideOrShow(isShow: boolean): void;
35
+ protected sceneAddToEventListener(): void;
36
+ protected sceneRemoveEventListener(): void;
37
+ protected sceneMousedown(e: ElementEvent): void;
38
+ protected scenemousemove(e: ElementEvent): void;
39
+ protected scenemouseup(e: ElementEvent): void;
40
+ protected rectAddToEventListener(): void;
41
+ protected rectDrag(e: ElementEvent): void;
42
+ protected circleAddToEventListener(): void;
43
+ protected circleDragStart(e: ElementEvent): void;
44
+ protected circleDrag(e: ElementEvent): void;
45
+ }
46
+ declare const _sfc_main: typeof MXMeasuringRuler;
47
+ export default _sfc_main;
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");const x=require("vue"),I=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const l=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),u=require("zrender"),d=require("@costy-plus/utils"),v=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},w=v(x);var D=Object.defineProperty,L=Object.getOwnPropertyDescriptor,a=(e,t,s,i)=>{for(var r=i>1?void 0:i?L(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&D(t,s,r),r};exports.default=class extends w.default{constructor(){super(...arguments),this.sceneIns=Object.freeze(null),this.measuringRulerGroup=Object.freeze(null),this.rectIns=Object.freeze(null),this.textIns=Object.freeze(null),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.circleList=Object.freeze([]),this.isMouseDown=Object.freeze(!1),this.circleDragPos=Object.freeze({x:0,y:0})}destroyed(){var e,t;(e=this.measuringRulerGroup)==null||e.removeAll(),(t=this.sceneIns)==null||t.dispose()}created(){this.initConfig()}initConfig(){this.circleList=[],this.circleDragPos={x:0,y:0},this.textIns=new u.Text({style:{lineHeight:this.config.textFontSize+4,fontSize:this.config.textFontSize,fill:this.config.textColor,fontFamily:this.fontFamily,fontWeight:"bold"}}),this.measuringRulerGroup=new u.Group({name:"measuringRuler"}),this.rectIns=new u.Rect({name:"rect",style:{stroke:this.config.stroke,lineWidth:this.config.lineW,fill:"transparent"},shape:{x:0,y:0},cursor:"move",draggable:!0});let e;const t=["nw-resize","ne-resize","se-resize","sw-resize"];for(let s=0;s<4;s++)e=new u.Circle({name:`${s}_circle`,style:{stroke:this.config.circleLinestroke,lineWidth:this.config.circleLineW,fill:"transparent"},shape:{r:12},cursor:t[s],zlevel:1,draggable:!0}),e.hide(),this.measuringRulerGroup.add(e),this.circleList.push(e);this.measuringRulerGroup.add(new u.Rect({name:"main-box",style:{fill:"transparent"},shape:{x:0,y:0,width:this.width,height:this.height},cursor:"crosshair"})),this.measuringRulerGroup.add(this.rectIns),this.measuringRulerGroup.add(this.textIns)}mounted(){this.init()}init(){var t;const e=document.getElementById("mx-measuring-ruler");this.sceneIns=u.init(e,{width:this.width,height:this.height,devicePixelRatio:2}),(t=this.sceneIns)==null||t.add(this.measuringRulerGroup),this.sceneAddToEventListener(),this.rectAddToEventListener(),this.circleAddToEventListener()}calcText(){var i,r,n,o,c,h,f,p;const e=d.calcMs(((i=this.rectIns)==null?void 0:i.shape.width)||0,this.speedValue,this.cellMg,this.magnification),t=d.calcMV(((r=this.rectIns)==null?void 0:r.shape.height)||0,this.sens,this.magnification),s=e!==0&&d.calcBpm(e)||0;(p=this.textIns)==null||p.attr({style:{text:`${e} ms
2
+ ${s} bpm
3
+ ${t} mV`,x:(((n=this.rectIns)==null?void 0:n.x)||0)+(((o=this.rectIns)==null?void 0:o.shape.x)||0)+(((c=this.rectIns)==null?void 0:c.shape.width)||0)+20,y:(((h=this.rectIns)==null?void 0:h.y)||0)+(((f=this.rectIns)==null?void 0:f.shape.y)||0)}})}circleHideOrShow(e){this.circleList.forEach(t=>e?t.show():t.hide())}sceneAddToEventListener(){var t,s,i,r;const e=n=>{n.event.preventDefault(),this.$emit("notifyMeasuringRuler",{name:"contextmenu"})};(t=this.sceneIns)==null||t.on("contextmenu",e),(s=this.sceneIns)==null||s.on("mousedown",this.sceneMousedown),(i=this.sceneIns)==null||i.on("mousemove",this.scenemousemove),(r=this.sceneIns)==null||r.on("mouseup",this.scenemouseup),this.$once("hook:beforeDestroy",()=>{var n,o,c,h;(n=this.sceneIns)==null||n.off("contextmenu",e),(o=this.sceneIns)==null||o.off("mousedown",this.sceneMousedown),(c=this.sceneIns)==null||c.off("mousemove",this.scenemousemove),(h=this.sceneIns)==null||h.off("mouseup",this.scenemouseup)})}sceneRemoveEventListener(){var e,t,s;(e=this.sceneIns)==null||e.off("mousedown",this.sceneMousedown),(t=this.sceneIns)==null||t.off("mousemove",this.scenemousemove),(s=this.sceneIns)==null||s.off("mouseup",this.scenemouseup)}sceneMousedown(e){var t;this.isMouseDown=!0,(t=this.rectIns)==null||t.attr({shape:{x:e.offsetX,y:e.offsetY}})}scenemousemove(e){var t;!this.isMouseDown||(t=this.rectIns)==null||t.attr({shape:{width:e.offsetX-this.rectIns.shape.x,height:e.offsetY-this.rectIns.shape.y}})}scenemouseup(e){var t,s,i,r,n,o,c,h,f,p,m,g,y;this.isMouseDown=!1,(t=this.rectIns)==null||t.attr({shape:{width:e.offsetX-this.rectIns.shape.x,height:e.offsetY-this.rectIns.shape.y}}),this.circleList[0].attr({x:(s=this.rectIns)==null?void 0:s.shape.x,y:(i=this.rectIns)==null?void 0:i.shape.y}),this.circleList[1].attr({x:e.offsetX-(((r=this.rectIns)==null?void 0:r.shape.x)||0)+(((n=this.rectIns)==null?void 0:n.shape.x)||0),y:(o=this.rectIns)==null?void 0:o.shape.y}),this.circleList[2].attr({x:e.offsetX-(((c=this.rectIns)==null?void 0:c.shape.x)||0)+(((h=this.rectIns)==null?void 0:h.shape.x)||0),y:e.offsetY-(((f=this.rectIns)==null?void 0:f.shape.y)||0)+(((p=this.rectIns)==null?void 0:p.shape.y)||0)}),this.circleList[3].attr({x:(m=this.rectIns)==null?void 0:m.shape.x,y:e.offsetY-(((g=this.rectIns)==null?void 0:g.shape.y)||0)+(((y=this.rectIns)==null?void 0:y.shape.y)||0)}),this.calcText(),this.circleHideOrShow(!0),this.sceneRemoveEventListener()}rectAddToEventListener(){var e;(e=this.rectIns)==null||e.on("drag",this.rectDrag),this.$once("hook:beforeDestroy",()=>{var t;(t=this.rectIns)==null||t.on("drag",this.rectDrag)})}rectDrag(e){this.circleList.forEach(t=>{t.attr({shape:{cx:e.target.x,cy:e.target.y}})}),this.calcText(),console.log("rectDrag--\u8FD9\u91CC")}circleAddToEventListener(){this.circleList.forEach(e=>{e.on("drag",this.circleDrag),e.on("dragstart",this.circleDragStart)}),this.$once("hook:beforeDestroy",()=>{this.circleList.forEach(e=>{e.off("drag",this.circleDrag),e.off("dragstart",this.circleDragStart)})})}circleDragStart(e){console.log("circleDragStart--\u8FD9\u91CC",e),this.circleDragPos.x=e.offsetX,this.circleDragPos.y=e.offsetY}circleDrag(e){var h;console.log("circleDrag--\u8FD9\u91CC",e);const t=parseInt(e.target.name);if(isNaN(t))return;const s=e.offsetX-this.circleDragPos.x,i=e.offsetY-this.circleDragPos.y;this.circleDragPos.x=e.offsetX,this.circleDragPos.y=e.offsetY;let r=this.rectIns.shape.x,n=this.rectIns.shape.y,o=this.rectIns.shape.width,c=this.rectIns.shape.height;console.log("moveX",s,i),t===0?(r+=s,n+=i,s<0?o+=-s:o-=s,i<0?c+=-i:c-=i,this.circleList[1].attr({y:e.target.y}),this.circleList[3].attr({x:e.target.x})):t===1?(n+=i,o+=s,i<0?c+=-i:c-=i,this.circleList[0].attr({y:e.target.y}),this.circleList[2].attr({x:e.target.x})):t===2?(o+=s,c+=i,this.circleList[3].attr({y:e.target.y}),this.circleList[1].attr({x:e.target.x})):t===3&&(r+=s,s<0?o+=-s:o-=s,c+=i,this.circleList[2].attr({y:e.target.y}),this.circleList[0].attr({x:e.target.x})),(h=this.rectIns)==null||h.attr({shape:{x:r,y:n,width:o,height:c}}),this.calcText()}};a([l.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);a([l.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);a([l.Prop({default:()=>({lineW:1,stroke:"#00C800",circleLineW:1,circleLinestroke:"blue",textColor:"#000",textFontSize:12})})],exports.default.prototype,"config",2);a([l.Prop({required:!0})],exports.default.prototype,"speedValue",2);a([l.Prop({required:!0})],exports.default.prototype,"cellMg",2);a([l.Prop({default:1})],exports.default.prototype,"magnification",2);a([l.Prop({default:1})],exports.default.prototype,"sens",2);a([l.Prop({default:()=>""})],exports.default.prototype,"className",2);exports.default=a([I.default({name:"MXMeasuringRuler"})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var s=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{class:e.className,style:{width:`${e.width}px`,height:`${e.height}px`},attrs:{id:"mx-measuring-ruler"}})},a=[];exports.render=s;exports.staticRenderFns=a;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./index.vue_vue_type_script_lang.js"),t=require("./index.vue_vue_type_template_lang.js"),_=require("../../_virtual/vueComponentNormalizer.js"),n={};var l=_.default(u.default,t.render,t.staticRenderFns,!1,r,null,null,null);function r(s){for(let e in n)this[e]=n[e]}const o=function(){return l.exports}();exports.default=o;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index2.js"),t=require("@costy-plus/utils"),l=t.withInstall(e.default);exports.default=l;
@@ -0,0 +1,46 @@
1
+ import { Vue } from 'vue-property-decorator';
2
+ import { ZRenderType, Group, Rect, ElementEvent, Circle, Text } from 'zrender';
3
+ declare class MXParallelRuler extends Vue {
4
+ protected width: number;
5
+ protected height: number;
6
+ protected config: MXParallelRulerConfig;
7
+ /** 走纸速度 */
8
+ protected speedValue: number;
9
+ /** 小格子距离 */
10
+ protected cellMg: number;
11
+ /** 放大倍数 */
12
+ protected magnification: number;
13
+ /** 增益 */
14
+ protected sens: number;
15
+ protected heartRate: number;
16
+ protected className: string;
17
+ protected sceneIns: Readonly<ZRenderType | null>;
18
+ protected parallelRulerGroup: Readonly<Group | null>;
19
+ protected lineGroup: Readonly<Group | null>;
20
+ protected rectIns: Readonly<Rect | null>;
21
+ protected textIns: Readonly<Text | null>;
22
+ protected fontFamily: string;
23
+ /** 左上,右上 */
24
+ protected circleList: readonly Circle[];
25
+ protected circleDragPos: Readonly<{
26
+ x: number;
27
+ }>;
28
+ protected destroyed(): void;
29
+ protected created(): void;
30
+ protected initConfig(): void;
31
+ protected mounted(): void;
32
+ protected init(): void;
33
+ protected createLines(): void;
34
+ protected circleHideOrShow(isShow: boolean): void;
35
+ protected calcText(): void;
36
+ protected sceneAddToEventListener(): void;
37
+ protected sceneClick(e: ElementEvent): void;
38
+ protected sceneMousewheel(e: ElementEvent): void;
39
+ protected rectAddToEventListener(): void;
40
+ protected rectDrag(e: ElementEvent): void;
41
+ protected circleAddToEventListener(): void;
42
+ protected circleDragStart(e: ElementEvent): void;
43
+ protected circleDrag(e: ElementEvent): void;
44
+ }
45
+ declare const _sfc_main: typeof MXParallelRuler;
46
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("vue"),g=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const a=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),l=require("zrender"),m=require("@costy-plus/utils"),x=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},y=x(f);var I=Object.defineProperty,w=Object.getOwnPropertyDescriptor,o=(e,t,i,r)=>{for(var s=r>1?void 0:r?w(t,i):t,n=e.length-1,h;n>=0;n--)(h=e[n])&&(s=(r?h(t,i,s):h(s))||s);return r&&s&&I(t,i,s),s};exports.default=class extends y.default{constructor(){super(...arguments),this.sceneIns=Object.freeze(null),this.parallelRulerGroup=Object.freeze(null),this.lineGroup=Object.freeze(null),this.rectIns=Object.freeze(null),this.textIns=Object.freeze(null),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.circleList=Object.freeze([]),this.circleDragPos=Object.freeze({x:0})}destroyed(){var e,t;(e=this.parallelRulerGroup)==null||e.removeAll(),(t=this.sceneIns)==null||t.dispose()}created(){this.initConfig()}initConfig(){this.circleList=[],this.circleDragPos={x:0},this.textIns=new l.Text({style:{lineHeight:this.config.textFontSize+4,fontSize:this.config.textFontSize,fill:this.config.textColor,fontFamily:this.fontFamily,fontWeight:"bold"}}),this.parallelRulerGroup=new l.Group({name:"parallelRuler"}),this.lineGroup=new l.Group({name:"lines"}),this.rectIns=new l.Rect({name:"rect",style:{stroke:this.config.stroke,lineWidth:this.config.lineW,fill:"transparent"},shape:{x:0,y:50,width:10,height:this.height-50+10},cursor:"move",draggable:!0}),this.rectIns.hide();let e;for(let t=0;t<2;t++)e=new l.Circle({name:`${t}_circle`,style:{stroke:this.config.circleLinestroke,lineWidth:this.config.circleLineW,fill:"transparent"},shape:{r:12},cursor:"w-resize",zlevel:1,draggable:!0}),e.hide(),this.parallelRulerGroup.add(e),this.circleList.push(e);this.parallelRulerGroup.add(new l.Rect({name:"main-box",style:{fill:"transparent"},shape:{x:0,y:0,width:this.width,height:this.height},cursor:"crosshair"})),this.parallelRulerGroup.add(this.rectIns),this.parallelRulerGroup.add(this.textIns)}mounted(){this.init()}init(){var t;const e=document.getElementById("mx-parallel-ruler");this.sceneIns=l.init(e,{width:this.width,height:this.height,devicePixelRatio:2}),(t=this.sceneIns)==null||t.add(this.parallelRulerGroup),this.sceneAddToEventListener(),this.rectAddToEventListener(),this.circleAddToEventListener()}createLines(){var r,s,n,h,c,u,d,p;(r=this.lineGroup)==null||r.removeAll();let e=((s=this.rectIns)==null?void 0:s.shape.width)||0;const t=(((n=this.rectIns)==null?void 0:n.shape.x)||0)+(((h=this.rectIns)==null?void 0:h.x)||0),i=((c=this.rectIns)==null?void 0:c.shape.width)||0;for(;e!==0&&t-e>0;)(u=this.lineGroup)==null||u.add(new l.Line({cursor:"",shape:{x1:t-e,y1:0,x2:t-e,y2:this.height},style:{stroke:this.config.stroke,lineWidth:this.config.lineW}})),e+=i;for(e=i;e!==0&&this.width-t-i-e>0;)(d=this.lineGroup)==null||d.add(new l.Line({cursor:"",shape:{x1:t+i+e,y1:0,x2:t+i+e,y2:this.height},style:{stroke:this.config.stroke,lineWidth:this.config.lineW}})),e+=i;(p=this.sceneIns)==null||p.add(this.lineGroup)}circleHideOrShow(e){this.circleList.forEach(t=>e?t.show():t.hide())}calcText(){var t,i,r,s,n,h,c;const e=m.calcMs(((t=this.rectIns)==null?void 0:t.shape.width)||0,this.speedValue,this.cellMg,this.magnification);(c=this.textIns)==null||c.attr({style:{text:`${e} ms`,x:(((i=this.rectIns)==null?void 0:i.x)||0)+(((r=this.rectIns)==null?void 0:r.shape.x)||0)+(((s=this.rectIns)==null?void 0:s.shape.width)||0)+20,y:(((n=this.rectIns)==null?void 0:n.y)||0)+(((h=this.rectIns)==null?void 0:h.shape.y)||0)}})}sceneAddToEventListener(){var t,i,r;const e=s=>{s.event.preventDefault(),this.$emit("notifyParallelRuler",{name:"contextmenu"})};(t=this.sceneIns)==null||t.on("contextmenu",e),(i=this.sceneIns)==null||i.on("click",this.sceneClick),(r=this.sceneIns)==null||r.on("mousewheel",this.sceneMousewheel),this.$once("hook:beforeDestroy",()=>{var s,n,h;(s=this.sceneIns)==null||s.off("contextmenu",e),(n=this.sceneIns)==null||n.off("click",this.sceneClick),(h=this.sceneIns)==null||h.off("mousewheel",this.sceneMousewheel)})}sceneClick(e){var i,r,s,n,h,c,u;const t=60/this.heartRate*this.speedValue*this.cellMg;(i=this.rectIns)==null||i.attr({shape:{x:e.offsetX,width:t}}),this.circleList[0].attr({x:(r=this.rectIns)==null?void 0:r.shape.x,y:(s=this.rectIns)==null?void 0:s.shape.y}),this.circleList[1].attr({x:(((n=this.rectIns)==null?void 0:n.shape.x)||0)+t,y:(h=this.rectIns)==null?void 0:h.shape.y}),this.calcText(),this.createLines(),(c=this.rectIns)==null||c.show(),this.circleHideOrShow(!0),(u=this.sceneIns)==null||u.off("click",this.sceneClick)}sceneMousewheel(e){var i,r,s,n;let t=((i=this.rectIns)==null?void 0:i.shape.width)||0;e.wheelDelta>0?t++:t--,t<=10&&(t=10),(r=this.rectIns)==null||r.attr({shape:{width:t}}),this.circleList[1].attr({x:(((s=this.rectIns)==null?void 0:s.shape.x)||0)+t,y:(n=this.rectIns)==null?void 0:n.shape.y}),this.calcText(),this.createLines()}rectAddToEventListener(){var e;(e=this.rectIns)==null||e.on("drag",this.rectDrag),this.$once("hook:beforeDestroy",()=>{var t;(t=this.rectIns)==null||t.on("drag",this.rectDrag)})}rectDrag(e){var t;(t=this.rectIns)==null||t.attr({y:0}),this.circleList.forEach(i=>{i.attr({shape:{cx:e.target.x}})}),this.createLines(),this.calcText()}circleAddToEventListener(){this.circleList.forEach(e=>{e.on("drag",this.circleDrag),e.on("dragstart",this.circleDragStart)}),this.$once("hook:beforeDestroy",()=>{this.circleList.forEach(e=>{e.off("drag",this.circleDrag),e.off("dragstart",this.circleDragStart)})})}circleDragStart(e){this.circleDragPos.x=e.offsetX}circleDrag(e){var n,h,c,u;const t=parseInt(e.target.name);if(isNaN(t))return;const i=e.offsetX-this.circleDragPos.x;let r=this.rectIns.shape.x,s=this.rectIns.shape.width;e.target.attr("y",50),t===0?(r+=i,i<0?s+=-i:s-=i,s<=10&&(s=10),e.target.attr({x:(n=this.rectIns)==null?void 0:n.shape.x}),s>10&&((h=this.rectIns)==null||h.attr({shape:{x:r}}))):t===1&&(s+=i,s<=10&&(s=10),e.target.attr({x:(((c=this.rectIns)==null?void 0:c.shape.x)||0)+s})),s>10&&(this.circleDragPos.x=e.offsetX),(u=this.rectIns)==null||u.attr({shape:{width:s}}),this.createLines(),this.calcText()}};o([a.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);o([a.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);o([a.Prop({default:()=>({lineW:1,stroke:"#00C800",circleLineW:1,circleLinestroke:"blue",textColor:"#000",textFontSize:12})})],exports.default.prototype,"config",2);o([a.Prop({required:!0})],exports.default.prototype,"speedValue",2);o([a.Prop({required:!0})],exports.default.prototype,"cellMg",2);o([a.Prop({default:1})],exports.default.prototype,"magnification",2);o([a.Prop({default:1})],exports.default.prototype,"sens",2);o([a.Prop({default:60})],exports.default.prototype,"heartRate",2);o([a.Prop({default:()=>""})],exports.default.prototype,"className",2);exports.default=o([g.default({name:"MXParallelRuler"})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{class:e.className,style:{width:`${e.width}px`,height:`${e.height}px`},attrs:{id:"mx-parallel-ruler"}})},s=[];exports.render=a;exports.staticRenderFns=s;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./index.vue_vue_type_script_lang.js"),t=require("./index.vue_vue_type_template_lang.js"),l=require("../../_virtual/vueComponentNormalizer.js"),n={};var _=l.default(u.default,t.render,t.staticRenderFns,!1,r,null,null,null);function r(s){for(let e in n)this[e]=n[e]}const o=function(){return _.exports}();exports.default=o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index2.js"),t=require("@costy-plus/utils"),s=t.withInstall(e.default);exports.default=s;
@@ -0,0 +1,7 @@
1
+ import { Vue } from 'vue-property-decorator';
2
+ declare class MedexText extends Vue {
3
+ readonly text: string;
4
+ created(): void;
5
+ }
6
+ declare const _sfc_main: typeof MedexText;
7
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");const d=require("vue"),p=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const a=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),c=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},m=c(d);var _=Object.defineProperty,i=Object.getOwnPropertyDescriptor,l=(e,t,s,r)=>{for(var o=r>1?void 0:r?i(t,s):t,u=e.length-1,n;u>=0;u--)(n=e[u])&&(o=(r?n(t,s,o):n(o))||o);return r&&o&&_(t,s,o),o};exports.default=class extends m.default{created(){console.log("HelloWorld created",this.text)}};l([a.Prop({default:""})],exports.default.prototype,"text",2);exports.default=l([p.default({name:"MedexText"})],exports.default);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var s=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"text\u2014box"},[t("div",[e._v(e._s(e.text))])])},a=[];exports.render=s;exports.staticRenderFns=a;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./index.vue_vue_type_script_lang.js"),t=require("./index.vue_vue_type_template_lang.js"),_=require("../../_virtual/vueComponentNormalizer.js"),n={};var l=_.default(u.default,t.render,t.staticRenderFns,!1,r,null,null,null);function r(s){for(let e in n)this[e]=n[e]}const o=function(){return l.exports}();exports.default=o;
@@ -0,0 +1,6 @@
1
+ .dic {
2
+ color: green;
3
+ }
4
+ .text—box {
5
+ color: red;
6
+ }
@@ -0,0 +1,3 @@
1
+ .dic {
2
+ color: green;
3
+ }
@@ -0,0 +1,8 @@
1
+ export { default as MXText } from './Text';
2
+ export { default as MXBackgroundGrid } from './BackgroundGrid';
3
+ export { default as MXECGWaveComponents } from './ECGWave';
4
+ export { default as MXMeasuringRuler } from './MeasuringRuler';
5
+ export { default as MXParallelRuler } from './ParallelRuler';
6
+ export { default as MXEnlargeWave } from './EnlargeWave';
7
+ export { default as MXFCGWaveComponents } from './FCGWave';
8
+ export { default as MXHFECGWaveComponents } from './HFECGWave';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./Text/index.js"),n=require("./BackgroundGrid/index.js"),r=require("./ECGWave/index.js"),i=require("./MeasuringRuler/index.js"),d=require("./ParallelRuler/index.js"),u=require("./EnlargeWave/index.js"),a=require("./FCGWave/index.js"),t=require("./HFECGWave/index.js");exports.MXText=e.default;exports.MXBackgroundGrid=n.default;exports.MXECGWaveComponents=r.default;exports.MXMeasuringRuler=i.default;exports.MXParallelRuler=d.default;exports.MXEnlargeWave=u.default;exports.MXFCGWaveComponents=a.default;exports.MXHFECGWaveComponents=t.default;
Binary file
@@ -0,0 +1,140 @@
1
+ /** 全局导入包 */
2
+ declare module 'vuescroll/dist/vuescroll-native';
3
+
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */
5
+ interface CommonConfig {
6
+ /** 背景色*/
7
+ themeBg?: string;
8
+ /** 网格大格颜色*/
9
+ tableBig?: string;
10
+ /** 网格小格颜色*/
11
+ themeTable?: string;
12
+ /** 导联颜色 */
13
+ themeLead?: string;
14
+ /** 导联头 */
15
+ themeHead?: string;
16
+ /** 刻度尺颜色 */
17
+ themeRuler?: string;
18
+ /** 导联名称字体大小 没有px */
19
+ themeHeadfont?: number;
20
+ /** 刻度尺字体大小 12px | 12 */
21
+ themeRulerfont?: number | string;
22
+ }
23
+
24
+ type MXCommonConfig = CommonConfig;
25
+
26
+ enum FormatType {
27
+ Ecg = 'Ecg',
28
+ Fcg = 'Fcg',
29
+ }
30
+
31
+ enum AnalysisMode {
32
+ /** 复合波 */
33
+ CompoundWave = 0,
34
+ /** 选中心搏 */
35
+ SelectedHeartbeat = 1,
36
+ }
37
+
38
+ /** 增益 */
39
+ interface Sens {
40
+ name: string;
41
+ value: number;
42
+ }
43
+
44
+ /** 走纸 */
45
+ interface Speed {
46
+ name: string;
47
+ value: number;
48
+ }
49
+
50
+ /** 视图模式 */
51
+ interface LeadModel {
52
+ /** + N 导联 */
53
+ add: number;
54
+ column: number;
55
+ line: number;
56
+ name: string;
57
+ type: string | number;
58
+ /** 是否连续 */
59
+ isContinuous: boolean;
60
+ }
61
+
62
+ /** vuescrolljs 滚动事件类型 */
63
+ interface HandleScrollParams {
64
+ barSize: number;
65
+ process: number;
66
+ scrollLeft?: number;
67
+ scrollTop?: number;
68
+ type: 'horizontal' | '"vertical"';
69
+ }
70
+
71
+ /** 分析值 */
72
+ interface AnalyseValue {
73
+ AnabyBeat?: AnabyBeat;
74
+ BeatID: number;
75
+ KeyPosByBeat?: KeyPosByBeat;
76
+ }
77
+
78
+ interface AnabyBeat {
79
+ 'QTd': number;
80
+ 'QTc': number[] | number;
81
+ 'SV3Amp': string;
82
+ 'PR': number;
83
+ 'QTcd': number[] | number,
84
+ 'BeatType': number;
85
+ 'SV1Amp': string;
86
+ 'QT': number;
87
+ 'QRSAxis': number;
88
+ 'SV5Amp': string;
89
+ 'TAxis': number;
90
+ 'AtrialRate': number;
91
+ 'Td': number;
92
+ 'RV5Amp': string;
93
+ 'VentricularRate': number;
94
+ 'Pd': number;
95
+ 'QRSd': number;
96
+ 'RV3Amp': string;
97
+ 'PAxis': number;
98
+ 'RV1Amp': string;
99
+ 'QTdr': string;
100
+ 'QRS_T': number;
101
+ }
102
+
103
+ interface EnlargeAnalysisData extends AnabyBeat {
104
+ 'TtypeA': number;
105
+ 'Ptype': string;
106
+ 'PtypeA': number;
107
+ 'QRStype': string;
108
+ 'QtypeA': number;
109
+ 'QD': number;
110
+ 'RtypeA': number;
111
+ 'RD': number;
112
+ 'StypeA': number;
113
+ 'RPA': number;
114
+ 'SD': number;
115
+ 'RPD': number;
116
+ 'STJtypeA': number;
117
+ 'STstate': string;
118
+ 'IandIIandIII': number;
119
+ BeatCount: number;
120
+ }
121
+
122
+ interface KeyPosByBeat {
123
+ 'PPpeak': number;
124
+ 'Tend': number;
125
+ 'PPstart': number;
126
+ 'Tpeak': number;
127
+ 'TPpeak': number;
128
+ 'QRSend': number;
129
+ 'Pend': number;
130
+ 'Tstart': number;
131
+ 'RPpoint': number;
132
+ 'Ppeak': number;
133
+ 'SPpoint': number;
134
+ 'Rpoint': number;
135
+ 'PPend': number;
136
+ 'TPend': number;
137
+ 'QRSstart': number;
138
+ 'Pstart': number;
139
+ 'TPstart': number;
140
+ }