mixdashboards 1.0.32 → 1.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CoordinateSystem-BMkAxlii.js +6 -0
- package/dist/CoordinateSystem-DWnjjFwb.cjs +1 -0
- package/dist/EChartComponentBase-BQOhWkz2.js +114 -0
- package/dist/EChartComponentBase-BaQpBzVC.cjs +1 -0
- package/dist/LegendVisualProvider-BDw4_0K3.cjs +1 -0
- package/dist/LegendVisualProvider-BP9kA8co.js +44 -0
- package/dist/MarkerView-BG_nYESR.cjs +1 -0
- package/dist/MarkerView-CtWJi5UZ.js +192 -0
- package/dist/RoamController--cgD3aNm.cjs +1 -0
- package/dist/RoamController-DmBIwcAZ.js +124 -0
- package/dist/UniverSheet-KlvmL1Yw.cjs +1 -0
- package/dist/UniverSheet-MSHzUXq0.js +180 -0
- package/dist/VisualMapping-D-MA7S0X.js +260 -0
- package/dist/VisualMapping-MilpZvD_.cjs +1 -0
- package/dist/accelerationChart-B1HPMmd2.js +577 -0
- package/dist/accelerationChart-DZj2V2vD.cjs +6 -0
- package/dist/actionItem-BYCPoQK7.cjs +1 -0
- package/dist/actionItem-Bb2xiYlY.js +686 -0
- package/dist/alarmLevelChart-Bb0mAbwQ.cjs +2 -0
- package/dist/alarmLevelChart-CCioESvL.js +182 -0
- package/dist/alertTable-CQwr8YYt.js +301 -0
- package/dist/alertTable-oaX5eJC0.cjs +1 -0
- package/dist/annualRainfallChart-C21jEMBe.js +185 -0
- package/dist/annualRainfallChart-pO8q6aUJ.cjs +1 -0
- package/dist/api-C0GhBpqd.js +125 -0
- package/dist/api-P_s372dW.cjs +1 -0
- package/dist/aqi-DlY2r7OA.cjs +3 -0
- package/dist/aqi-iLwQH4rc.js +145 -0
- package/dist/aqiIndass-BaIVBfdC.cjs +3 -0
- package/dist/aqiIndass-DBeVSBdy.js +301 -0
- package/dist/arrayCard-DNNUEPvW.js +93 -0
- package/dist/arrayCard-OlVAAsZq.cjs +1 -0
- package/dist/audio-CAP4D-J2.js +301 -0
- package/dist/audio-CThzVIDU.cjs +1 -0
- package/dist/axisAlignTicks-BqVUa467.js +481 -0
- package/dist/axisAlignTicks-CDNWKJRo.cjs +1 -0
- package/dist/bar-BjR566__.cjs +2 -0
- package/dist/bar-D8C06GO4.js +232 -0
- package/dist/bmp-Cjizh2x6.js +226 -0
- package/dist/bmp-DsmTzyce.cjs +1 -0
- package/dist/box-DqewT3MF.js +352 -0
- package/dist/box-qgu_67OD.cjs +1 -0
- package/dist/chartConfigPanel-BiQArCoQ.cjs +1 -0
- package/dist/chartConfigPanel-DwAUq3pf.js +408 -0
- package/dist/circleBar-CO89T7kj.cjs +4 -0
- package/dist/circleBar-DGHDWQih.js +196 -0
- package/dist/clock-32hGccm4.cjs +1 -0
- package/dist/clock-CT8YXEU3.js +274 -0
- package/dist/clt-5bP_g1O-.cjs +1 -0
- package/dist/clt-FfIEfGtn.js +293 -0
- package/dist/cmc-B2nQFZIS.js +269 -0
- package/dist/cmc-dbuLkE8o.cjs +1 -0
- package/dist/cmp-QQlYcnqo.js +378 -0
- package/dist/cmp-l3U9fIrz.cjs +6 -0
- package/dist/composite-CbsUYl-u.js +136 -0
- package/dist/composite-Cf24lSyN.cjs +1 -0
- package/dist/composite-DjhrBgG1.js +323 -0
- package/dist/composite-DlY2_x6P.cjs +3 -0
- package/dist/config-BLSroAzs.cjs +1 -0
- package/dist/config-Cc2W4vke.js +9 -0
- package/dist/controlList-BdF8xNAi.js +879 -0
- package/dist/controlList-De6PXdOc.cjs +1 -0
- package/dist/controlRecordList-CKpAr1ON.js +421 -0
- package/dist/controlRecordList-u5a7chIX.cjs +1 -0
- package/dist/crd-BVAf41oX.js +113 -0
- package/dist/crd-BoaXQhFQ.cjs +1 -0
- package/dist/createSeriesData-Cz83cqoZ.cjs +1 -0
- package/dist/createSeriesData-E53TTCAt.js +116 -0
- package/dist/createSeriesDataSimply-Bsly4zZA.js +14 -0
- package/dist/createSeriesDataSimply-CjfZL_jf.cjs +1 -0
- package/dist/ctrBtn-C9kQiqY1.cjs +1 -0
- package/dist/ctrBtn-ZPRYWE66.js +215 -0
- package/dist/ctrSet-C87dxLfQ.js +247 -0
- package/dist/ctrSet-CNCrnLSs.cjs +1 -0
- package/dist/ctrSwitch-CVEtbdfb.cjs +1 -0
- package/dist/ctrSwitch-CkC_Axtp.js +207 -0
- package/dist/cursorHelper-DE0KU4_J.js +29 -0
- package/dist/cursorHelper-DsTR8jVF.cjs +1 -0
- package/dist/customGraphicKeyframeAnimation-BJ_z0kB3.js +330 -0
- package/dist/customGraphicKeyframeAnimation-CEIvOjMs.cjs +1 -0
- package/dist/dataManagement-CjlNfeYq.js +672 -0
- package/dist/dataManagement-n711sd1g.cjs +1 -0
- package/dist/dataReport-BsVjW3p7.cjs +4 -0
- package/dist/dataReport-ByjswEqq.js +787 -0
- package/dist/dataSample-BXwc06Sb.js +114 -0
- package/dist/dataSample-D4ycwmll.cjs +1 -0
- package/dist/dataTable-DX500R1i.js +217 -0
- package/dist/dataTable-K7j4fhnq.cjs +1 -0
- package/dist/datetime-DVbJtALf.js +113 -0
- package/dist/datetime-DYXWKrXI.cjs +1 -0
- package/dist/deepClusterSlipSurface-B7nkEM9A.cjs +1 -0
- package/dist/deepClusterSlipSurface-CQUE05cK.js +372 -0
- package/dist/deepDataMatrix-DHZA0IAm.cjs +1 -0
- package/dist/deepDataMatrix-ai5rB6ET.js +238 -0
- package/dist/deepDisplacement3D-BFqKqSYg.cjs +4289 -0
- package/dist/deepDisplacement3D-BsUzvbQb.js +26052 -0
- package/dist/deepDisplacementChart-2JZNrhrw.cjs +5 -0
- package/dist/deepDisplacementChart-BCIuCMdK.js +585 -0
- package/dist/deepDisplacementChart-Ba67v6um.cjs +6 -0
- package/dist/deepDisplacementChart-igl4rW1K.js +340 -0
- package/dist/deepDisplacementView-BedWJsx7.js +231 -0
- package/dist/deepDisplacementView-wQxyKzB-.cjs +8 -0
- package/dist/deepNodeTemperatureChart-DLeb9jKp.js +347 -0
- package/dist/deepNodeTemperatureChart-albL8hKa.cjs +1 -0
- package/dist/deepTangentAngleChart-C6xOiITk.js +420 -0
- package/dist/deepTangentAngleChart-DukevXaM.cjs +1 -0
- package/dist/deepTemperatureField-B-y94GPV.js +398 -0
- package/dist/deepTemperatureField-De4xKoHw.cjs +1 -0
- package/dist/deepTrendChart-DCkV2HNv.js +345 -0
- package/dist/deepTrendChart-MmuYSXtu.cjs +1 -0
- package/dist/deviceOnlineStatus-B5cCjhNA.cjs +2 -0
- package/dist/deviceOnlineStatus-CFuCTx7_.js +178 -0
- package/dist/deviceStatus-B2ibBDSi.js +194 -0
- package/dist/deviceStatus-DsEtKiGo.cjs +1 -0
- package/dist/displacementDataTable-BDqG1IvI.js +256 -0
- package/dist/displacementDataTable-oLnUdafv.cjs +1 -0
- package/dist/displacementTrajectoryChart-CBhPwZhe.cjs +22 -0
- package/dist/displacementTrajectoryChart-Crf55oKi.js +597 -0
- package/dist/displacementTrendChart-10n_lC9j.js +364 -0
- package/dist/displacementTrendChart-CWihCuIJ.cjs +5 -0
- package/dist/dxf-D8zHpz5g.js +2768 -0
- package/dist/dxf-DDh_DcQy.cjs +1 -0
- package/dist/dzc-DLCdTCwW.js +144 -0
- package/dist/dzc-uNTDJqpi.cjs +2 -0
- package/dist/echarts-BB8O2KSA.cjs +21 -0
- package/dist/echarts-BVht3HHb.js +13787 -0
- package/dist/ele-aqi-icon-BMm9WgFH.cjs +1 -0
- package/dist/ele-aqi-icon-DsYfU5th.js +5 -0
- package/dist/ele-bar-icon-C-GiCs2a.js +5 -0
- package/dist/ele-bar-icon-V94clxg_.cjs +1 -0
- package/dist/ele-bmp-icon-BBI0-SX7.cjs +1 -0
- package/dist/ele-bmp-icon-Pdolk1J5.js +5 -0
- package/dist/ele-circleBar-icon-DNBUxt0A.js +5 -0
- package/dist/ele-circleBar-icon-Da0-L9sa.cjs +1 -0
- package/dist/ele-clt-icon-BEVOS7Tq.cjs +1 -0
- package/dist/ele-clt-icon-DuU4Q401.js +5 -0
- package/dist/ele-cmp-icon-CEP91RUe.js +5 -0
- package/dist/ele-cmp-icon-yUlU6c_Q.cjs +1 -0
- package/dist/ele-crd-icon-BXxB7P3T.js +5 -0
- package/dist/ele-crd-icon-BvNgAPKW.cjs +1 -0
- package/dist/ele-ctrSet-icon-BtKGrCid.js +5 -0
- package/dist/ele-ctrSet-icon-DCsPO0tL.cjs +1 -0
- package/dist/ele-dateTime-icon-BEGFlwID.js +5 -0
- package/dist/ele-dateTime-icon-BgZ2_KWW.cjs +1 -0
- package/dist/ele-dzc-icon-D6eVpaHp.js +5 -0
- package/dist/ele-dzc-icon-h5wOUHF0.cjs +1 -0
- package/dist/ele-evn-icon-DUQMS-9T.cjs +1 -0
- package/dist/ele-evn-icon-MWzAujnD.js +5 -0
- package/dist/ele-gag-icon-CB5dJeYF.js +5 -0
- package/dist/ele-gag-icon-Ce1hl9NI.cjs +1 -0
- package/dist/ele-glbModel-icon-ByACDCrv.cjs +1 -0
- package/dist/ele-glbModel-icon-l_SMi3ik.js +5 -0
- package/dist/ele-grd-icon-DR52zwGR.js +5 -0
- package/dist/ele-grd-icon-ZUb-megQ.cjs +1 -0
- package/dist/ele-gridview-icon-D3GcssP6.cjs +1 -0
- package/dist/ele-gridview-icon-cSd1oIDi.js +5 -0
- package/dist/ele-lin-icon-Dax-ZiWV.js +5 -0
- package/dist/ele-lin-icon-Dke_1AmT.cjs +1 -0
- package/dist/ele-lst-icon-CKpeRKmk.js +5 -0
- package/dist/ele-lst-icon-CrxnHZ-A.cjs +1 -0
- package/dist/ele-mxa-icon-CJWttkCK.js +5 -0
- package/dist/ele-mxa-icon-fgN0MLnh.cjs +1 -0
- package/dist/ele-rtn-icon-BrsJIU8J.cjs +1 -0
- package/dist/ele-rtn-icon-CqCKSHIw.js +5 -0
- package/dist/ele-textbox-icon-ClGaLi5p.js +5 -0
- package/dist/ele-textbox-icon-g_5kV8t6.cjs +1 -0
- package/dist/ele-vdo-icon-Bgp9gaT6.cjs +1 -0
- package/dist/ele-vdo-icon-DcWebTR5.js +5 -0
- package/dist/ele-vlu-icon-Bg6EHZdJ.js +5 -0
- package/dist/ele-vlu-icon-Dv-R7Xuc.cjs +1 -0
- package/dist/element-resize-detector-Bo5uDQAu.cjs +6 -0
- package/dist/element-resize-detector-DJcsrJ8s.js +1547 -0
- package/dist/evn-DuL5oVRl.cjs +1 -0
- package/dist/evn-YwCALVXj.js +116 -0
- package/dist/evolutionChart-4noZSdLX.js +406 -0
- package/dist/evolutionChart-AeL67MAt.cjs +1 -0
- package/dist/fileViewer-DiH3PM0r.js +415 -0
- package/dist/fileViewer-bsrjlJkC.cjs +1 -0
- package/dist/filterBar-CWEguwYc.js +394 -0
- package/dist/filterBar-Ct1BFhrS.cjs +1 -0
- package/dist/fireCombustionCurve-DYPC4zKJ.js +405 -0
- package/dist/fireCombustionCurve-DyiQn-WA.cjs +1 -0
- package/dist/fireFilterBar-Bdm2ljuO.cjs +1 -0
- package/dist/fireFilterBar-DGHPNTwF.js +221 -0
- package/dist/gag-HiNaL81R.cjs +1 -0
- package/dist/gag-kvkKzJuO.js +125 -0
- package/dist/glbModel-CUz6CyVF.js +2724 -0
- package/dist/glbModel-DtBI72ap.cjs +5 -0
- package/dist/gnssFilterBar-BQgY5x1W.cjs +1 -0
- package/dist/gnssFilterBar-TBtirXIB.js +310 -0
- package/dist/gnssHistoryTable-D1ZLJOgh.cjs +3 -0
- package/dist/gnssHistoryTable-U8O7nyO7.js +398 -0
- package/dist/gnssMapView-42zmAd9q.cjs +7 -0
- package/dist/gnssMapView-CaBfWeT1.js +699 -0
- package/dist/gnssTimeSeriesChart-BrXYvuh6.js +421 -0
- package/dist/gnssTimeSeriesChart-CV2w_Aik.cjs +1 -0
- package/dist/gnssXYTrajectory-BmzSYjQ_.cjs +5 -0
- package/dist/gnssXYTrajectory-D2DoYnze.js +304 -0
- package/dist/grd-B0GUjLm9.js +339 -0
- package/dist/grd-DW8cSFVR.cjs +1 -0
- package/dist/grdIndass-BeBXVsos.cjs +1 -0
- package/dist/grdIndass-DduUKZJm.js +216 -0
- package/dist/grg-CeX0pirQ.js +194 -0
- package/dist/grg-fnpcXtju.cjs +1 -0
- package/dist/gridview-BPwWXza9.js +183 -0
- package/dist/gridview-DpABhCIw.cjs +1 -0
- package/dist/groupCard-De1E15mW.js +132 -0
- package/dist/groupCard-WNE6gAAl.cjs +1 -0
- package/dist/headerBar-CZ3qcLHo.js +210 -0
- package/dist/headerBar-Qi1EXrr6.cjs +1 -0
- package/dist/{history-DigzRtjC.js → history-BkZhlpdY.js} +5 -3
- package/dist/history-DAmBl4_5.cjs +1 -0
- package/dist/index-ButoLLAe.js +8655 -0
- package/dist/index-Mh5Dw2sd.cjs +585 -0
- package/dist/index-kShjySl9.js +5313 -0
- package/dist/index-mAPVa0s4.cjs +11 -0
- package/dist/insarDeformChart-BGr2xe7w.cjs +1 -0
- package/dist/insarDeformChart-CnuSL1d9.js +216 -0
- package/dist/insarImageViewer-DRgGdQmN.cjs +1 -0
- package/dist/insarImageViewer-EmVThmVQ.js +268 -0
- package/dist/install-8XfFtnlL.js +853 -0
- package/dist/install-9_V0b6vf.js +497 -0
- package/dist/install-B0x4IqQr.js +1258 -0
- package/dist/install-B1IEhhn3.cjs +1 -0
- package/dist/install-B2TChEcT.js +895 -0
- package/dist/install-B65ZIqAx.cjs +1 -0
- package/dist/install-BBrAry2m.js +8 -0
- package/dist/install-BRjgycz_.cjs +1 -0
- package/dist/install-BUu5ESB7.js +447 -0
- package/dist/install-BamnGDPb.cjs +1 -0
- package/dist/install-BifpoHNI.js +1817 -0
- package/dist/install-BvOpNm0Y.cjs +1 -0
- package/dist/install-ByPD0oOh.cjs +1 -0
- package/dist/install-BzdOSCzO.js +785 -0
- package/dist/install-C8buXQPI.cjs +1 -0
- package/dist/install-C9Cdzkc6.js +265 -0
- package/dist/install-CBde4hAM.js +112 -0
- package/dist/install-CIT6k8Ga.cjs +1 -0
- package/dist/install-CYwVETsi.cjs +1 -0
- package/dist/install-C_3uGWLu.js +2328 -0
- package/dist/install-Ch5d8i37.cjs +1 -0
- package/dist/install-CltTFs4e.cjs +3 -0
- package/dist/install-Csxa7Kv7.cjs +18 -0
- package/dist/install-Cx1i_m0k.js +1168 -0
- package/dist/install-D1QM80AD.js +227 -0
- package/dist/install-D7znHb-b.js +604 -0
- package/dist/install-DHY9y86B.cjs +3 -0
- package/dist/install-DIlB2q7w.cjs +1 -0
- package/dist/install-DV5cEgNV.cjs +1 -0
- package/dist/install-DWm3j_D3.js +38 -0
- package/dist/install-FDYiy_gL.js +250 -0
- package/dist/install-LtoYukZU.cjs +1 -0
- package/dist/install-MS3ZY7fF.js +685 -0
- package/dist/install-hfre7yvV.js +727 -0
- package/dist/install-kGXY_57n.cjs +1 -0
- package/dist/install-nDY6w-GK.cjs +1 -0
- package/dist/install-oGjJ0_bF.js +588 -0
- package/dist/install-z6wShIZI.cjs +1 -0
- package/dist/installCanvasRenderer-CLT2hquJ.js +4260 -0
- package/dist/installCanvasRenderer-CyhM1Qpl.cjs +3 -0
- package/dist/installMarkArea-Cdg4iciO.js +206 -0
- package/dist/installMarkArea-CjyaJPLE.cjs +1 -0
- package/dist/installMarkLine-BgE0YACE.js +533 -0
- package/dist/installMarkLine-Bv53Iw9G.cjs +1 -0
- package/dist/installSimple-BWTCwMdY.js +586 -0
- package/dist/installSimple-c87Ufc4_.cjs +1 -0
- package/dist/kds-CpIQFgeY.js +1203 -0
- package/dist/kds-DTYWOq4K.cjs +3 -0
- package/dist/labelHelper-Cd8oB-sZ.js +26 -0
- package/dist/labelHelper-npJGYQ1j.cjs +1 -0
- package/dist/layerTabs-BATcBkTA.cjs +1 -0
- package/dist/layerTabs-uze6K91A.js +139 -0
- package/dist/lin-Ba6fHkYf.cjs +2 -0
- package/dist/lin-DU_EuPRg.js +239 -0
- package/dist/linIndass-XHKElG7L.js +273 -0
- package/dist/linIndass-urYe5inp.cjs +2 -0
- package/dist/lst-C7aee1cU.js +147 -0
- package/dist/lst-CpmoEQDY.cjs +1 -0
- package/dist/manualEntry-CJPiO5nh.cjs +1 -0
- package/dist/manualEntry-D9m_WPw3.js +662 -0
- package/dist/mapBackground-6g_71Fwa.js +6658 -0
- package/dist/mapBackground-CF_TqNBy.cjs +17 -0
- package/dist/mappingList-CR55Tq4t.cjs +1 -0
- package/dist/mappingList-luT5YE0d.js +917 -0
- package/dist/markdownViewer-CnguoUr8.js +261 -0
- package/dist/markdownViewer-D1hDk2Y7.cjs +3 -0
- package/dist/mix-control-modal-BDHAB4Tw.cjs +1 -0
- package/dist/mix-control-modal-CHiX3hQs.js +147 -0
- package/dist/mixDataPermission-BTA1jNd1.cjs +1 -0
- package/dist/mixDataPermission-BaqV0Z6N.js +760 -0
- package/dist/mixGrid-3BqQCvg8.cjs +1 -0
- package/dist/mixGrid-C0eEvwPy.js +180 -0
- package/dist/mixMap-7upgYwWk.js +258 -0
- package/dist/mixMap-Bw-We4Cm.cjs +1 -0
- package/dist/mixModel-BqE_Kd4c.js +245 -0
- package/dist/mixModel-CgV4XptM.cjs +3 -0
- package/dist/mixPie-9LfMCTQV.cjs +2 -0
- package/dist/mixPie-B-HeglUn.js +168 -0
- package/dist/mixdashboards.cjs +1 -1
- package/dist/mixdashboards.css +1 -1
- package/dist/mixdashboards.js +7 -7
- package/dist/mjpegCamera-Cfw3rzT5.js +158 -0
- package/dist/mjpegCamera-nxKfhobY.cjs +1 -0
- package/dist/monitorAlert-Bg5vzzyG.js +225 -0
- package/dist/monitorAlert-Bt0baNh4.cjs +1 -0
- package/dist/monitorData-BvAMeOrp.js +319 -0
- package/dist/monitorData-CzPVIk_4.cjs +1 -0
- package/dist/monitorSpeedChart-0bDuU3Kj.js +603 -0
- package/dist/monitorSpeedChart-C52QjA5K.cjs +16 -0
- package/dist/mxa-BW80xKCc.js +143 -0
- package/dist/mxa-eLAgZPMC.cjs +2 -0
- package/dist/no-image-icon-CPA7RKkF.cjs +1 -0
- package/dist/no-image-icon-n2ZlEjxS.js +1864 -0
- package/dist/objectList-Cf9GMyXN.js +1809 -0
- package/dist/objectList-CpqQxG8L.cjs +1 -0
- package/dist/params-3W3p8QeC.cjs +1 -0
- package/dist/params-DfgBemk0.js +75 -0
- package/dist/photo-BODEtaYh.cjs +1 -0
- package/dist/photo-BfLkWAo8.js +256 -0
- package/dist/pie-BDLg-Rls.js +199 -0
- package/dist/pie-DxoBrm0D.cjs +2 -0
- package/dist/points-DcRmizmA.cjs +1 -0
- package/dist/points-DkG9FRF9.js +277 -0
- package/dist/pressBtn-CXG1eSWC.js +242 -0
- package/dist/pressBtn-t0g4vk7s.cjs +1 -0
- package/dist/progressBar-BXaFKSCq.js +130 -0
- package/dist/progressBar-CJEWkZ42.cjs +1 -0
- package/dist/progressCircle-DpOI5D5z.js +168 -0
- package/dist/progressCircle-uQ7vaMKM.cjs +1 -0
- package/dist/qrcode-CX8aymYZ.js +814 -0
- package/dist/qrcode-DHCRfp0M.cjs +1 -0
- package/dist/raceBar-Cv0-0ogd.cjs +4 -0
- package/dist/raceBar-DFaH342G.js +197 -0
- package/dist/rad-CFswUTwi.cjs +1 -0
- package/dist/rad-NS2G_nMg.js +143 -0
- package/dist/rainfallFilterBar-BI45QvJm.cjs +1 -0
- package/dist/rainfallFilterBar-D_Ye_NeB.js +221 -0
- package/dist/rainfallTimeCurve-BHWqX47Q.js +443 -0
- package/dist/rainfallTimeCurve-Ke1JvSWq.cjs +1 -0
- package/dist/rangeLin-D6VZ2U3C.cjs +3 -0
- package/dist/rangeLin-GMYEgLeP.js +278 -0
- package/dist/request-BD0x5Hkt.js +75 -0
- package/dist/request-Bn100qAJ.cjs +1 -0
- package/dist/retainer1-D2XmjXYH.cjs +1 -0
- package/dist/retainer1-h-Whr2c9.js +290 -0
- package/dist/retainer2-ByQdiRjq.js +504 -0
- package/dist/retainer2-cF-trL2g.cjs +1 -0
- package/dist/riskRegionTable-CQxAkG7k.js +170 -0
- package/dist/riskRegionTable-cKnxra4_.cjs +1 -0
- package/dist/sankey-Bk1IcVJQ.js +171 -0
- package/dist/sankey-MRirEgU0.cjs +1 -0
- package/dist/sausage-DRCw7Qmr.cjs +1 -0
- package/dist/sausage-xU3hOdxD.js +30 -0
- package/dist/scd-BDRpzmsa.js +2577 -0
- package/dist/scd-J-mN3eI5.cjs +1 -0
- package/dist/sectorHelper-BFEnYqut.cjs +1 -0
- package/dist/sectorHelper-DIlWFMnU.js +18 -0
- package/dist/sideMenu-BgTMtnMq.js +225 -0
- package/dist/sideMenu-l8X2E00H.cjs +1 -0
- package/dist/slopeStability-BPf7m0fJ.cjs +1 -0
- package/dist/slopeStability-C5RqZ1im.js +331 -0
- package/dist/speedCurve-C3pK-zZy.js +394 -0
- package/dist/speedCurve-CluwNAZl.cjs +1 -0
- package/dist/staticLine-C6tGGXcN.cjs +1 -0
- package/dist/staticLine-DXWOLj15.js +362 -0
- package/dist/store-BJW2NQkK.cjs +5 -0
- package/dist/store-DzDtVfSX.js +1673 -0
- package/dist/swiper-DGqDoUkX.cjs +1 -0
- package/dist/swiper-IMlGje3t.js +128 -0
- package/dist/terminalConfigList-D6xDHsnb.cjs +1 -0
- package/dist/terminalConfigList-SAyXi-BK.js +1017 -0
- package/dist/terminalList-CjSHshiR.js +1211 -0
- package/dist/terminalList-ml2C18MY.cjs +1 -0
- package/dist/textbox-AQtCe25j.cjs +1 -0
- package/dist/textbox-BLV-SY8e.js +172 -0
- package/dist/three.module-DNVo041Q.cjs +3824 -0
- package/dist/three.module-DcOQNgKS.js +16561 -0
- package/dist/timeQueryBar-BeMu_DYr.js +155 -0
- package/dist/timeQueryBar-BuKakMy8.cjs +1 -0
- package/dist/timeSeries-DP5iZKVM.js +587 -0
- package/dist/timeSeries-DfGgFWiF.cjs +4 -0
- package/dist/timeSeriesCurve-B0Mw6eNK.cjs +1 -0
- package/dist/timeSeriesCurve-BSgtPqYw.js +463 -0
- package/dist/titleStyle-BT5GlpAb.js +49 -0
- package/dist/titleStyle-NSnz6cUg.cjs +1 -0
- package/dist/toggleBtn-Dh64vVWo.cjs +1 -0
- package/dist/toggleBtn-O2Y75Uen.js +249 -0
- package/dist/trajectoryConfigPanel--C1h3tK6.js +635 -0
- package/dist/trajectoryConfigPanel-P_Qa4omj.cjs +1 -0
- package/dist/trajectoryScatter-BbpbgNb8.cjs +1 -0
- package/dist/trajectoryScatter-VLrmImlq.js +525 -0
- package/dist/universalConfigPanel-C0lDSzOB.cjs +1 -0
- package/dist/universalConfigPanel-DBg76b4F.js +477 -0
- package/dist/universalTable-Bzq9VqzA.cjs +2 -0
- package/dist/universalTable-DGK02ywi.js +410 -0
- package/dist/universalTransition-Bv7ibBUh.js +988 -0
- package/dist/universalTransition-CIN_u2Cu.cjs +1 -0
- package/dist/video-CyRoSQf1.cjs +1 -0
- package/dist/video-DCzzaEmV.js +310 -0
- package/dist/videoMonitor-BjD-ZFS0.cjs +1 -0
- package/dist/videoMonitor-ByaQeIWR.js +241 -0
- package/dist/vlu-CYZjYHaV.cjs +1 -0
- package/dist/vlu-h-9twmCr.js +100 -0
- package/dist/vue-i18n-5Nahpzrm.js +2732 -0
- package/dist/vue-i18n-BvHMBi_b.cjs +5 -0
- package/dist/weather-B7B5E1EJ.cjs +1 -0
- package/dist/weather-C_aC0XJ1.js +94 -0
- package/dist/windLin-B7V4NUV8.js +1226 -0
- package/dist/windLin-DPNzX7JN.cjs +1 -0
- package/package.json +17 -10
- package/dist/history-fvcbbxGa.cjs +0 -1
- package/dist/index-B-aA7889.js +0 -154003
- package/dist/index-CdJ-j9Gj.cjs +0 -8893
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var Q=Object.defineProperty,Y=Object.defineProperties;var ee=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols,te=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,ne=Reflect.get;var q=(d,i,a)=>i in d?Q(d,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):d[i]=a,U=(d,i)=>{for(var a in i||(i={}))oe.call(i,a)&&q(d,a,i[a]);if(V)for(var a of V(i))ae.call(i,a)&&q(d,a,i[a]);return d},K=(d,i)=>Y(d,ee(i));var F=(d,i,a)=>ne(te(d),a,i);var G=(d,i,a)=>new Promise((N,m)=>{var j=b=>{try{_(a.next(b))}catch(A){m(A)}},p=b=>{try{_(a.throw(b))}catch(A){m(A)}},_=b=>b.done?N(b.value):Promise.resolve(b.value).then(j,p);_((a=a.apply(d,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue");require("html2canvas");const P=require("./element-resize-detector-Bo5uDQAu.cjs"),H=require("./index-Mh5Dw2sd.cjs");require("./index-mAPVa0s4.cjs");const Z=require("./ele-mxa-icon-fgN0MLnh.cjs"),se=require("./echarts-BB8O2KSA.cjs"),le={class:"deep-displacement-chart"},ie={class:"chart-header"},ce={class:"chart-title"},re={class:"chart-subtitle"},de={DEFAULT_ICON:Z.DEFAULT_ICON,ACTIVE_ICON:Z.ACTIVE_ICON,NAME_CN:"深部位移曲线图",NAME_EN:"Deep Displacement Chart",ORDER:13},pe={title:{value:"ZK10-深部位移01",type:"string",label:"component.deepDisplacement.title"},depth:{value:152,type:"number",label:"component.deepDisplacement.depth",min:1,max:500},bgColor:{value:"#ffffff",type:"color",label:"component.options.bgColor"},textColor:{value:"#333333",type:"color",label:"component.options.textColor"},points:{value:30,type:"number",label:"component.options.points",min:5,max:100}},fe=[{configPanelId:"",name:"ZK10-X位移",object_id:"",points_fv:"points",fv:"disp_x",depth_fv:"depth",color:"#4a90d9"}],he=["configPanelId","name","object_id","points_fv","fv","depth_fv","color"],ue=["mosaic","statistics","calculate","statisticsRealtime","calculateRealtime"],me={useAlias:!1,multiObject:!1,source:"mosaic"},ge={DEFAULT:de,OPTIONS:pe,DATA:fe,PARAMS:he,SOURCE:ue,COMMON:me},ve=o.defineComponent(K(U({},ge),{__name:"deepDisplacementChart",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(d){o.useCssVars(t=>({v7db3a074:o.unref(O).bgColor,v764b7b0c:o.unref(O).textColor}));const i=H.useLinkStore(),a=d,N=o.ref({selectedTimes:[],startDate:"",endDate:""}),m=o.ref(new Map),j=`dispChart_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;let p=null,_=null;const b=["#4a90d9","#67c23a","#e6a23c","#f56c6c","#909399","#00bcd4","#9c27b0","#ff9800","#795548","#607d8b"];class A extends P.BaseComponent{extractStyles(){var n,s,y,f,g;const{options:e}=this.props.conf;return{title:((n=e==null?void 0:e.title)==null?void 0:n.value)||"ZK10-深部位移01",depth:((s=e==null?void 0:e.depth)==null?void 0:s.value)||152,bgColor:((y=e==null?void 0:e.bgColor)==null?void 0:y.value)||"#ffffff",textColor:((f=e==null?void 0:e.textColor)==null?void 0:f.value)||"#333333",points:((g=e==null?void 0:e.points)==null?void 0:g.value)||30}}getDefaultData(){return[{configPanelId:"",name:"ZK10-X位移",object_id:"",points_fv:"points",fv:"disp_x",depth_fv:"depth",color:"#4a90d9"}]}getMockData(){var y;const e=((y=this.props.conf)==null?void 0:y.data)||this.getDefaultData(),n=["2026-01-15","2026-01-14","2026-01-13","2026-01-12","2026-01-11"],s=new Map;return e.forEach((f,g)=>{const I=new Map;n.forEach((T,h)=>{const l=[],x=(n.length-1-h)*5;for(let r=0;r<=30;r++){const S=-122-r,c=(10+x+g*3)*(1+r*.03);l.push({depth:S,value:c+Math.sin(r*.2+g)*2})}I.set(T,l)}),s.set(f.name,I)}),s}onPreview(){return G(this,null,function*(){const{data:e}=this.props.conf;e.some(s=>s.object_id&&s.fv)?(console.log("[DeepDisplacementChart] 检测到数据绑定,订阅真实数据"),yield F(A.prototype,this,"onPreview").call(this)):(console.log("[DeepDisplacementChart] 未配置数据源,使用模拟数据"),this.getMockData().forEach((y,f)=>m.value.set(f,y)),z())})}setHistoryData(e){var I,T;const{data:n,common:s}=this.props.conf;if(!n||n.length===0||!n.some(h=>h.object_id&&h.fv))return;const f=(s==null?void 0:s.source)||"mosaic";["statistics","calculate"].includes(f)&&(e=P.formatStatisticsResult(e,n));const g=P.handleNullData(e,this.props,"history");if(g){try{m.value.clear();const h=n.find(c=>c.object_id);if(!h)return;const l=n.indexOf(h),x=((I=g.history)==null?void 0:I[l])||[],r=h.points_fv||"points";x.length>0&&Array.isArray((T=x[0])==null?void 0:T[r])?n.forEach(c=>{if(!c.object_id||!c.fv)return;const k=new Map,E=new Map;x.forEach(D=>{const M=(D.time||D.datetime||"").split(" ")[0];E.has(M)||E.set(M,[]),(D[r]||[]).forEach(u=>{var C,R,$;E.get(M).push({depth:(R=(C=u[c.depth_fv])!=null?C:u.depth)!=null?R:0,value:($=u[c.fv])!=null?$:0})})}),E.forEach((D,v)=>{const M=new Map;D.forEach(u=>M.set(u.depth,u.value));const w=Array.from(M.entries()).map(([u,C])=>({depth:u,value:C})).sort((u,C)=>C.depth-u.depth);k.set(v,w)}),m.value.set(c.name,k)}):n.forEach((c,k)=>{var M;if(!c.object_id||!c.fv)return;const E=((M=g.history)==null?void 0:M[k])||[],D=new Map,v=new Map;E.forEach(w=>{var R,$;const C=(w.time||w.datetime||"").split(" ")[0];v.has(C)||v.set(C,[]),v.get(C).push({depth:(R=w[c.depth_fv])!=null?R:0,value:($=w[c.fv])!=null?$:0})}),v.forEach((w,u)=>{D.set(u,w)}),m.value.set(c.name,D)})}catch(h){console.error("[Chart] 解析历史数据失败:",h)}z()}}setSocketData(e){e&&console.log("[DeepDisplacementChart] 收到实时数据:",e)}}const L=new A(a,"deepDisplacementChart");(!a.conf.data||a.conf.data.length===0)&&(a.conf.data=L.getDefaultData()),L.setupLifecycle();const O=L.getStyle(),X=o.computed(()=>{const t=N.value.selectedTimes||[];if(t.length===0)return"";const e=[...t].sort(),n=e[0],s=e[e.length-1];return`${n} ~ ${s} [${t.length}天]`}),B=()=>{var h;const t=O.value,e=N.value,n=((h=a.conf)==null?void 0:h.data)||L.getDefaultData();let s=e.selectedTimes||[];if(m.value.size===0&&L.getMockData().forEach((x,r)=>m.value.set(r,x)),s.length===0&&m.value.size>0){const l=m.value.values().next().value;l&&(s=Array.from(l.keys()))}s=[...s].sort().reverse();const y=[];let f=[],g=0;n.forEach(l=>{const x=m.value.get(l.name);if(!x)return;const r=l.color||b[g%b.length];g++,s.forEach((S,c)=>{const k=x.get(S)||[];if(k.length===0)return;k.forEach(v=>f.push(v.depth));const E=1-c*.15,D=r;y.push({name:`${l.name} (${S})`,type:"line",data:k.map(v=>[v.value,v.depth]),smooth:!0,symbol:"circle",symbolSize:4,lineStyle:{color:D,width:2,opacity:E},itemStyle:{color:D,opacity:E}})})}),f.length===0&&(f=[-122,-152]);const I=Math.min(...f),T=Math.max(...f);return{grid:{left:60,right:140,top:30,bottom:60},tooltip:{trigger:"axis",backgroundColor:"rgba(255,255,255,0.95)",borderColor:"#e5e5e5",textStyle:{color:"#333",fontSize:12},formatter:l=>{if(!l||l.length===0)return"";let r=`<div style="padding:8px;max-width:280px;">
|
|
2
|
+
<div style="font-weight:600;margin-bottom:6px;">深度: ${l[0].data[1]}m</div>`;return l.forEach(S=>{r+=`<div style="display:flex;align-items:center;margin:2px 0;">
|
|
3
|
+
<span style="display:inline-block;width:8px;height:8px;border-radius:50%;background:${S.color};margin-right:6px;"></span>
|
|
4
|
+
<span style="flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">${S.seriesName}: ${S.data[0].toFixed(3)} mm</span>
|
|
5
|
+
</div>`}),r+="</div>",r}},legend:{type:"scroll",orient:"vertical",right:10,bottom:60,itemWidth:16,itemHeight:10,itemGap:6,textStyle:{color:t.textColor,fontSize:10},formatter:l=>l.length>15?l.slice(0,15)+"...":l},xAxis:{type:"value",name:"位移量 (mm)",nameLocation:"middle",nameGap:30,nameTextStyle:{color:t.textColor,fontSize:12},axisLine:{lineStyle:{color:"#ddd"}},axisLabel:{color:t.textColor,fontSize:10},splitLine:{lineStyle:{color:"#f0f0f0",type:"dashed"}}},yAxis:{type:"value",name:"深度 (m)",nameLocation:"middle",nameGap:40,nameTextStyle:{color:t.textColor,fontSize:12},min:I-1,max:T+1,inverse:!1,axisLine:{lineStyle:{color:"#ddd"}},axisLabel:{color:t.textColor,fontSize:10},splitLine:{lineStyle:{color:"#f0f0f0",type:"dashed"}}},series:y}},z=()=>{p&&(p.clear(),p.setOption(B(),!0))},W=o.computed(()=>{var e,n;return((n=(((e=a.conf)==null?void 0:e.data)||[])[0])==null?void 0:n.configPanelId)||""});o.watch(()=>i.channels.deepDisplacement,t=>{var n;if(!t||t.source==="deepDisplacementChart")return;const e=W.value;e&&t.objectId===e&&(t.type==="config"?(console.log("[Chart] 收到配置变化:",t.fv),N.value=t.fv,o.nextTick(z)):t.type==="export"&&(console.log("[Chart] 收到导出请求:",t.fv),((n=t.fv)==null?void 0:n.type)==="static"&&J()))},{deep:!0});const J=()=>{if(p){const t=p.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),e=document.createElement("a");e.download=`${O.value.title}-深部位移曲线图.png`,e.href=t,e.click()}};return o.onMounted(()=>{o.nextTick(()=>{const t=document.getElementById(j);t&&(p=se.init(t),p.setOption(B()),_=new ResizeObserver(()=>p==null?void 0:p.resize()),_.observe(t.parentElement))})}),o.onBeforeUnmount(()=>{_==null||_.disconnect(),p==null||p.dispose()}),o.watch(()=>{var t;return(t=a.conf)==null?void 0:t.data},()=>{o.nextTick(z)},{deep:!0}),(t,e)=>(o.openBlock(),o.createElementBlock("div",le,[o.createElementVNode("div",ie,[o.createElementVNode("div",ce,o.toDisplayString(o.unref(O).title)+"(深度"+o.toDisplayString(o.unref(O).depth)+"米)",1),o.createElementVNode("div",re,o.toDisplayString(X.value),1)]),o.createElementVNode("div",{id:j,class:"chart-area"}),o.renderSlot(t.$slots,"default",{},void 0,!0)]))}})),ye=H._export_sfc(ve,[["__scopeId","data-v-d04a5a0b"]]);exports.default=ye;
|
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
var ie = Object.defineProperty, re = Object.defineProperties;
|
|
2
|
+
var ce = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var q = Object.getOwnPropertySymbols;
|
|
4
|
+
var pe = Object.prototype.hasOwnProperty, ue = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var P = (E, v, x) => v in E ? ie(E, v, { enumerable: !0, configurable: !0, writable: !0, value: x }) : E[v] = x, T = (E, v) => {
|
|
6
|
+
for (var x in v || (v = {}))
|
|
7
|
+
pe.call(v, x) && P(E, x, v[x]);
|
|
8
|
+
if (q)
|
|
9
|
+
for (var x of q(v))
|
|
10
|
+
ue.call(v, x) && P(E, x, v[x]);
|
|
11
|
+
return E;
|
|
12
|
+
}, I = (E, v) => re(E, ce(v));
|
|
13
|
+
import { ElSelect as he, ElOption as me, ElButton as de, ElIcon as fe } from "element-plus/es";
|
|
14
|
+
import "element-plus/es/components/base/style/css";
|
|
15
|
+
import "element-plus/es/components/button/style/css";
|
|
16
|
+
import "element-plus/es/components/icon/style/css";
|
|
17
|
+
import "element-plus/es/components/select/style/css";
|
|
18
|
+
import "element-plus/es/components/option/style/css";
|
|
19
|
+
import { defineComponent as ve, inject as ge, ref as N, computed as ye, watch as U, nextTick as $, onMounted as be, onUnmounted as De, openBlock as H, createElementBlock as J, normalizeStyle as K, createElementVNode as j, toDisplayString as Ce, unref as R, createVNode as z, withCtx as G, Fragment as xe, renderList as Se, createBlock as _e, createTextVNode as Ee, renderSlot as Oe } from "vue";
|
|
20
|
+
import { Download as je } from "@element-plus/icons-vue";
|
|
21
|
+
import "html2canvas";
|
|
22
|
+
import { i as we, j as Ne, d as Ae } from "./element-resize-detector-DJcsrJ8s.js";
|
|
23
|
+
import { d as F, _ as ke } from "./index-kShjySl9.js";
|
|
24
|
+
import { E as Me } from "./EChartComponentBase-BQOhWkz2.js";
|
|
25
|
+
import { formatRequest as Ve } from "./request-BD0x5Hkt.js";
|
|
26
|
+
import { A as Le, D as Te } from "./ele-lin-icon-Dax-ZiWV.js";
|
|
27
|
+
const Ie = { class: "panel-header" }, Re = { class: "header-left" }, ze = { class: "header-title" }, Fe = { class: "chart-area" }, Ue = { class: "toolbar" }, $e = ["id"], He = {
|
|
28
|
+
DEFAULT_ICON: Te,
|
|
29
|
+
ACTIVE_ICON: Le,
|
|
30
|
+
NAME_CN: "深部位移图表",
|
|
31
|
+
NAME_EN: "Deep Displacement Chart",
|
|
32
|
+
ORDER: 1
|
|
33
|
+
}, Ge = {
|
|
34
|
+
title: { value: "深部位移图表", type: "string", label: "component.deepDisplacementChart.title" },
|
|
35
|
+
dispType: {
|
|
36
|
+
value: "cumulative",
|
|
37
|
+
type: "select",
|
|
38
|
+
label: "component.deepDisplacementChart.dispType",
|
|
39
|
+
options: [
|
|
40
|
+
{ label: "component.deepDisplacementChart.dispTypeOptions.cumulative", value: "cumulative" },
|
|
41
|
+
{ label: "component.deepDisplacementChart.dispTypeOptions.relative", value: "relative" }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
bgColor: { value: "#ffffff", type: "color", label: "setting.bgColor" },
|
|
45
|
+
textColor: { value: "#333333", type: "color", label: "setting.textColor" },
|
|
46
|
+
xAxisName: { value: "位移量(mm)", type: "string", label: "component.deepDisplacementChart.xAxisName" },
|
|
47
|
+
yAxisLeftName: { value: "深度(m)", type: "string", label: "component.deepDisplacementChart.yAxisLeftName" },
|
|
48
|
+
yAxisRightName: { value: "高程(m)", type: "string", label: "component.deepDisplacementChart.yAxisRightName" },
|
|
49
|
+
baseElevation: { value: 688, type: "number", label: "基准高程(m)" },
|
|
50
|
+
jumpUrl: { value: "", type: "string", label: "component.deepDisplacementChart.jumpUrl" },
|
|
51
|
+
// 联动频道配置
|
|
52
|
+
linkChannel: {
|
|
53
|
+
value: "deepDisplacement",
|
|
54
|
+
type: "select",
|
|
55
|
+
label: "component.linkChannel",
|
|
56
|
+
options: [
|
|
57
|
+
{ label: "component.linkChannelOptions.deepDisplacement", value: "deepDisplacement" },
|
|
58
|
+
{ label: "component.linkChannelOptions.gnss", value: "gnss" },
|
|
59
|
+
{ label: "component.linkChannelOptions.slope", value: "slope" },
|
|
60
|
+
{ label: "component.linkChannelOptions.device", value: "device" },
|
|
61
|
+
{ label: "component.linkChannelOptions.alarm", value: "alarm" },
|
|
62
|
+
{ label: "component.linkChannelOptions.custom", value: "custom" }
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
customChannel: {
|
|
66
|
+
value: "",
|
|
67
|
+
type: "string",
|
|
68
|
+
label: "component.customChannel",
|
|
69
|
+
showWhen: { linkChannel: "custom" }
|
|
70
|
+
}
|
|
71
|
+
}, Be = [
|
|
72
|
+
{
|
|
73
|
+
name: "合位移",
|
|
74
|
+
// 线的名称(相同 name 的点会连成一条线)
|
|
75
|
+
fv: "disp_130",
|
|
76
|
+
// FV字段名
|
|
77
|
+
depth: -130,
|
|
78
|
+
// 深度值(米)
|
|
79
|
+
color: "#4a90d9",
|
|
80
|
+
object_id: ""
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "合位移",
|
|
84
|
+
// 相同的 name,会和上面的点连成一条线
|
|
85
|
+
fv: "disp_140",
|
|
86
|
+
depth: -140,
|
|
87
|
+
color: "#4a90d9",
|
|
88
|
+
object_id: ""
|
|
89
|
+
}
|
|
90
|
+
], We = ["name", "fv", "depth", "color", "object_id"], qe = ["mosaic", "statistics", "calculate", "statisticsRealtime", "calculateRealtime"], Pe = { useAlias: !1, multiObject: !0, source: "mosaic" }, Je = { DEFAULT: He, OPTIONS: Ge, DATA: Be, PARAMS: We, SOURCE: qe, COMMON: Pe }, Ke = /* @__PURE__ */ ve(I(T({}, Je), {
|
|
91
|
+
__name: "deepDisplacementChart",
|
|
92
|
+
props: {
|
|
93
|
+
conf: { type: Object, default: () => ({ data: [] }) },
|
|
94
|
+
mode: { type: String, default: "edit" },
|
|
95
|
+
uid: { type: String, default: "" },
|
|
96
|
+
theme: { type: String, default: "light" }
|
|
97
|
+
},
|
|
98
|
+
setup(E) {
|
|
99
|
+
const v = E;
|
|
100
|
+
class x extends Me {
|
|
101
|
+
constructor() {
|
|
102
|
+
super(...arguments), this.currentObjectId = "", this.chartData = /* @__PURE__ */ new Map(), this.timeSeriesData = /* @__PURE__ */ new Map(), this.latestValues = /* @__PURE__ */ new Map();
|
|
103
|
+
}
|
|
104
|
+
getRecordValue(e, a) {
|
|
105
|
+
return e && Object.prototype.hasOwnProperty.call(e, a) ? e[a] : e != null && e.event ? this.extractDataValue(e, a) : e == null ? void 0 : e[a];
|
|
106
|
+
}
|
|
107
|
+
getDepthValue(e) {
|
|
108
|
+
const a = Number(e);
|
|
109
|
+
return Number.isFinite(a) ? a : null;
|
|
110
|
+
}
|
|
111
|
+
extractStyles() {
|
|
112
|
+
var t, s, c, u, h, i, n, p, d, m, f;
|
|
113
|
+
const { options: e } = this.props.conf, a = ((t = e == null ? void 0 : e.linkChannel) == null ? void 0 : t.value) || "deepDisplacement", o = ((s = e == null ? void 0 : e.customChannel) == null ? void 0 : s.value) || "", l = a === "custom" && o ? o : a;
|
|
114
|
+
return {
|
|
115
|
+
title: ((c = e == null ? void 0 : e.title) == null ? void 0 : c.value) || "深部位移图表",
|
|
116
|
+
dispType: ((u = e == null ? void 0 : e.dispType) == null ? void 0 : u.value) || "cumulative",
|
|
117
|
+
bgColor: ((h = e == null ? void 0 : e.bgColor) == null ? void 0 : h.value) || "#ffffff",
|
|
118
|
+
textColor: ((i = e == null ? void 0 : e.textColor) == null ? void 0 : i.value) || "#333333",
|
|
119
|
+
xAxisName: ((n = e == null ? void 0 : e.xAxisName) == null ? void 0 : n.value) || "位移量(mm)",
|
|
120
|
+
yAxisLeftName: ((p = e == null ? void 0 : e.yAxisLeftName) == null ? void 0 : p.value) || "深度(m)",
|
|
121
|
+
yAxisRightName: ((d = e == null ? void 0 : e.yAxisRightName) == null ? void 0 : d.value) || "高程(m)",
|
|
122
|
+
baseElevation: ((m = e == null ? void 0 : e.baseElevation) == null ? void 0 : m.value) || 688,
|
|
123
|
+
jumpUrl: ((f = e == null ? void 0 : e.jumpUrl) == null ? void 0 : f.value) || "",
|
|
124
|
+
linkChannel: l
|
|
125
|
+
// 联动频道
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
getDefaultData() {
|
|
129
|
+
return [
|
|
130
|
+
{
|
|
131
|
+
name: "合位移",
|
|
132
|
+
fv: "disp_130",
|
|
133
|
+
depth: -130,
|
|
134
|
+
color: "#4a90d9",
|
|
135
|
+
object_id: ""
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: "合位移",
|
|
139
|
+
fv: "disp_140",
|
|
140
|
+
depth: -140,
|
|
141
|
+
color: "#4a90d9",
|
|
142
|
+
object_id: ""
|
|
143
|
+
}
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
// 处理历史数据
|
|
147
|
+
setHistoryData(e) {
|
|
148
|
+
var s, c, u;
|
|
149
|
+
const { data: a, common: o } = this.props.conf;
|
|
150
|
+
if (!a || a.length === 0) return;
|
|
151
|
+
const l = (o == null ? void 0 : o.source) || "mosaic";
|
|
152
|
+
["statistics", "calculate"].includes(l) && (e = we(e, a));
|
|
153
|
+
const t = Ne(e, this.props, "history");
|
|
154
|
+
if (t) {
|
|
155
|
+
console.log("[DeepDisplacementChart] history raw sample:", ((c = (s = t.history) == null ? void 0 : s[0]) == null ? void 0 : c[0]) || ((u = t.history) == null ? void 0 : u[0]) || t.history);
|
|
156
|
+
try {
|
|
157
|
+
if (this.chartData.clear(), this.timeSeriesData.clear(), b.value = [], O.value = [], !t.history || !Array.isArray(t.history)) return;
|
|
158
|
+
const h = t.history.length > 0 && Array.isArray(t.history[0]);
|
|
159
|
+
if (console.log("[DeepDisplacementChart] ===== 开始处理历史数据 ====="), console.log("[DeepDisplacementChart] response.history 长度:", t.history.length), console.log("[DeepDisplacementChart] 是否多对象数据:", h), console.log("[DeepDisplacementChart] 配置项数量:", a.length), console.log("[DeepDisplacementChart] 配置项:", a.map((i) => ({ name: i.name, fv: i.fv, object_id: i.object_id }))), !h)
|
|
160
|
+
console.log("[DeepDisplacementChart] 单对象模式"), this.processHistoryRecords(t.history, a);
|
|
161
|
+
else {
|
|
162
|
+
console.log("[DeepDisplacementChart] 多对象模式,对象数量:", t.history.length);
|
|
163
|
+
const i = [...new Set(a.map((n) => n.object_id).filter(Boolean))];
|
|
164
|
+
if (console.log("[DeepDisplacementChart] 配置的对象ID:", i), i.length === 1) {
|
|
165
|
+
const n = t.history[0] || [];
|
|
166
|
+
this.processHistoryRecords(n, a);
|
|
167
|
+
} else
|
|
168
|
+
this.processMultiObjectHistory(t.history, a, i);
|
|
169
|
+
}
|
|
170
|
+
if (k(), !y.value && b.value.length && (y.value = b.value[b.value.length - 1]), console.log("[DeepDisplacementChart] 选中时间:", y.value), console.log("[DeepDisplacementChart] timeSeriesData 中的时间点:", Array.from(this.timeSeriesData.keys())), y.value && this.timeSeriesData.has(y.value)) {
|
|
171
|
+
const i = this.timeSeriesData.get(y.value);
|
|
172
|
+
console.log("[DeepDisplacementChart] 选中时间的数据,线:", Array.from((i == null ? void 0 : i.keys()) || [])), this.chartData = new Map(i || /* @__PURE__ */ new Map());
|
|
173
|
+
}
|
|
174
|
+
console.log("[DeepDisplacementChart] 最终 chartData 中的线:", Array.from(this.chartData.keys())), V.value++;
|
|
175
|
+
} catch (h) {
|
|
176
|
+
console.error("[DeepDisplacementChart] 解析历史数据失败:", h);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// 处理单个对象的历史记录
|
|
181
|
+
processHistoryRecords(e, a) {
|
|
182
|
+
e.forEach((o) => {
|
|
183
|
+
var s;
|
|
184
|
+
const l = (s = o == null ? void 0 : o.time) != null ? s : o == null ? void 0 : o.datetime;
|
|
185
|
+
if (!l) return;
|
|
186
|
+
const t = /* @__PURE__ */ new Map();
|
|
187
|
+
if (a.forEach((c) => {
|
|
188
|
+
const u = c.fv, h = c.depth, i = c.name || "未命名", n = this.getRecordValue(o, u), p = Number(n);
|
|
189
|
+
if (n != null && Number.isFinite(h)) {
|
|
190
|
+
const m = (this.extractStyles().baseElevation || 688) + h;
|
|
191
|
+
t.has(i) || t.set(i, []), t.get(i).push({
|
|
192
|
+
depth: h,
|
|
193
|
+
elevation: m,
|
|
194
|
+
value: Number.isFinite(p) ? p : 0
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}), t.size > 0) {
|
|
198
|
+
const c = /* @__PURE__ */ new Map();
|
|
199
|
+
t.forEach((u, h) => {
|
|
200
|
+
u.sort((i, n) => n.depth - i.depth), c.set(h, u);
|
|
201
|
+
}), this.timeSeriesData.set(String(l), c), M(l);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
// 处理多个对象的历史数据
|
|
206
|
+
processMultiObjectHistory(e, a, o) {
|
|
207
|
+
const l = e[0] || [];
|
|
208
|
+
l.length && l.forEach((t, s) => {
|
|
209
|
+
var h;
|
|
210
|
+
const c = (h = t == null ? void 0 : t.time) != null ? h : t == null ? void 0 : t.datetime;
|
|
211
|
+
if (!c) return;
|
|
212
|
+
const u = /* @__PURE__ */ new Map();
|
|
213
|
+
if (a.forEach((i) => {
|
|
214
|
+
const n = i.fv, p = i.depth, d = i.name || "未命名", m = i.object_id, f = o.indexOf(m);
|
|
215
|
+
if (f === -1 || !e[f]) return;
|
|
216
|
+
const D = e[f];
|
|
217
|
+
if (!D[s]) return;
|
|
218
|
+
const S = D[s], _ = this.getRecordValue(S, n), C = Number(_);
|
|
219
|
+
if (_ != null && Number.isFinite(p)) {
|
|
220
|
+
const oe = (this.extractStyles().baseElevation || 688) + p;
|
|
221
|
+
u.has(d) || u.set(d, []), u.get(d).push({ depth: p, elevation: oe, value: C });
|
|
222
|
+
}
|
|
223
|
+
}), u.size > 0) {
|
|
224
|
+
const i = /* @__PURE__ */ new Map();
|
|
225
|
+
u.forEach((n, p) => {
|
|
226
|
+
n.sort((d, m) => m.depth - d.depth), i.set(p, n);
|
|
227
|
+
}), this.timeSeriesData.set(String(c), i), M(c);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
// 处理实时数据(多对象模式)
|
|
232
|
+
setSocketData(e) {
|
|
233
|
+
var o, l;
|
|
234
|
+
if (!e) return;
|
|
235
|
+
const { data: a } = this.props.conf;
|
|
236
|
+
if (!(!a || a.length === 0))
|
|
237
|
+
try {
|
|
238
|
+
const t = (l = (o = e == null ? void 0 : e.time) != null ? o : e == null ? void 0 : e.datetime) != null ? l : Date.now(), s = /* @__PURE__ */ new Map();
|
|
239
|
+
console.log("[DeepDisplacementChart] realtime raw:", e), a.forEach((u) => {
|
|
240
|
+
const h = u.fv, i = this.getDepthValue(u.depth), n = u.name || "未命名", p = this.extractDataValue(e, h);
|
|
241
|
+
console.log("[DeepDisplacementChart] realtime fv:", h, "rawValue:", p), p != null && Number.isFinite(Number(p)) && this.latestValues.set(h, Number(p));
|
|
242
|
+
const d = this.latestValues.get(h);
|
|
243
|
+
if (d !== void 0 && i !== null) {
|
|
244
|
+
const f = (this.extractStyles().baseElevation || 688) + i;
|
|
245
|
+
s.has(n) || s.set(n, []), s.get(n).push({ depth: i, elevation: f, value: d });
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
const c = /* @__PURE__ */ new Map();
|
|
249
|
+
s.forEach((u, h) => {
|
|
250
|
+
u.sort((i, n) => n.depth - i.depth), c.set(h, u);
|
|
251
|
+
}), c.size > 0 && (console.log("[DeepDisplacementChart] realtime series keys:", Array.from(c.keys())), console.log("[DeepDisplacementChart] realtime series data:", Array.from(c.entries())), this.timeSeriesData.set(String(t), c), M(t), this.chartData = c, V.value++);
|
|
252
|
+
} catch (t) {
|
|
253
|
+
console.error("[DeepDisplacementChart] 解析实时数据失败:", t);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// 设置当前订阅的 object_id
|
|
257
|
+
setCurrentObjectId(e) {
|
|
258
|
+
this.currentObjectId = e;
|
|
259
|
+
}
|
|
260
|
+
// 获取当前订阅的 object_id
|
|
261
|
+
getCurrentObjectId() {
|
|
262
|
+
return this.currentObjectId;
|
|
263
|
+
}
|
|
264
|
+
getChartOption() {
|
|
265
|
+
var d;
|
|
266
|
+
const e = this.extractStyles(), a = ((d = this.props.conf) == null ? void 0 : d.data) || [], o = y.value;
|
|
267
|
+
o && this.timeSeriesData.has(o) && (this.chartData = new Map(this.timeSeriesData.get(o) || /* @__PURE__ */ new Map()));
|
|
268
|
+
const l = [];
|
|
269
|
+
let t = [], s = [];
|
|
270
|
+
this.chartData.forEach((m, f) => {
|
|
271
|
+
if (m.length === 0) return;
|
|
272
|
+
m.forEach((C) => {
|
|
273
|
+
C.depth !== void 0 && t.push(C.depth), C.elevation !== void 0 && s.push(C.elevation);
|
|
274
|
+
});
|
|
275
|
+
const D = [...m].sort((C, W) => (W.depth || 0) - (C.depth || 0)), S = a.find((C) => C.name === f), _ = (S == null ? void 0 : S.color) || "#4a90d9";
|
|
276
|
+
l.push({
|
|
277
|
+
name: f,
|
|
278
|
+
type: "line",
|
|
279
|
+
data: D.map((C) => [C.value || 0, C.depth || 0]),
|
|
280
|
+
smooth: !0,
|
|
281
|
+
symbol: "circle",
|
|
282
|
+
symbolSize: 6,
|
|
283
|
+
lineStyle: { color: _, width: 2 },
|
|
284
|
+
itemStyle: { color: _, borderColor: "#fff", borderWidth: 2 },
|
|
285
|
+
yAxisIndex: 0
|
|
286
|
+
});
|
|
287
|
+
}), l.length === 0 && this.getMockData().forEach((f) => {
|
|
288
|
+
l.push({
|
|
289
|
+
name: f.name,
|
|
290
|
+
type: "line",
|
|
291
|
+
data: f.data,
|
|
292
|
+
smooth: !0,
|
|
293
|
+
symbol: "circle",
|
|
294
|
+
symbolSize: 6,
|
|
295
|
+
lineStyle: { color: f.color, width: 2 },
|
|
296
|
+
itemStyle: { color: f.color, borderColor: "#fff", borderWidth: 2 },
|
|
297
|
+
yAxisIndex: 0
|
|
298
|
+
}), f.data.forEach((D) => t.push(D[1]));
|
|
299
|
+
});
|
|
300
|
+
const c = t.length > 0 ? Math.min(...t) : -80, u = t.length > 0 ? Math.max(...t) : 0, h = s.length > 0 ? Math.min(...s) : 810, i = s.length > 0 ? Math.max(...s) : 890, n = i || 890, p = (m) => n + m;
|
|
301
|
+
return {
|
|
302
|
+
grid: { left: 80, right: 80, top: 36, bottom: 88 },
|
|
303
|
+
tooltip: {
|
|
304
|
+
trigger: "axis",
|
|
305
|
+
backgroundColor: "rgba(255,255,255,0.95)",
|
|
306
|
+
borderColor: "#e5e5e5",
|
|
307
|
+
textStyle: { color: "#333", fontSize: 12 },
|
|
308
|
+
formatter: (m) => {
|
|
309
|
+
if (!m || m.length === 0) return "";
|
|
310
|
+
const f = m[0].data[1], D = p(f);
|
|
311
|
+
let S = `<div style="padding:8px;max-width:300px;">
|
|
312
|
+
<div style="font-weight:600;margin-bottom:6px;">深度: ${f}m</div>
|
|
313
|
+
<div style="color:#666;margin-bottom:6px;">高程: ${D.toFixed(2)}m</div>`;
|
|
314
|
+
return m.forEach((_) => {
|
|
315
|
+
S += `<div style="display:flex;align-items:center;margin:2px 0;">
|
|
316
|
+
<span style="display:inline-block;width:8px;height:8px;border-radius:50%;background:${_.color};margin-right:6px;"></span>
|
|
317
|
+
<span style="flex:1;">${_.seriesName}: ${_.data[0].toFixed(2)} mm</span>
|
|
318
|
+
</div>`;
|
|
319
|
+
}), S += "</div>", S;
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
legend: {
|
|
323
|
+
type: "scroll",
|
|
324
|
+
orient: "horizontal",
|
|
325
|
+
bottom: 10,
|
|
326
|
+
itemWidth: 16,
|
|
327
|
+
itemHeight: 10,
|
|
328
|
+
itemGap: 10,
|
|
329
|
+
textStyle: { color: e.textColor, fontSize: 12 }
|
|
330
|
+
},
|
|
331
|
+
xAxis: {
|
|
332
|
+
type: "value",
|
|
333
|
+
name: e.xAxisName,
|
|
334
|
+
nameLocation: "middle",
|
|
335
|
+
nameGap: 30,
|
|
336
|
+
nameTextStyle: { color: e.textColor, fontSize: 12 },
|
|
337
|
+
axisLine: { lineStyle: { color: "#ddd" } },
|
|
338
|
+
axisLabel: { color: e.textColor, fontSize: 11 },
|
|
339
|
+
splitLine: { lineStyle: { color: "#f0f0f0", type: "dashed" } }
|
|
340
|
+
},
|
|
341
|
+
yAxis: [
|
|
342
|
+
{
|
|
343
|
+
type: "value",
|
|
344
|
+
name: e.yAxisLeftName,
|
|
345
|
+
nameLocation: "middle",
|
|
346
|
+
nameGap: 50,
|
|
347
|
+
nameTextStyle: { color: e.textColor, fontSize: 12 },
|
|
348
|
+
position: "left",
|
|
349
|
+
min: c - 1,
|
|
350
|
+
max: u + 1,
|
|
351
|
+
inverse: !1,
|
|
352
|
+
axisLine: { lineStyle: { color: "#ddd" } },
|
|
353
|
+
axisLabel: { color: e.textColor, fontSize: 11 },
|
|
354
|
+
splitLine: { lineStyle: { color: "#f0f0f0", type: "dashed" } }
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
type: "value",
|
|
358
|
+
name: e.yAxisRightName,
|
|
359
|
+
nameLocation: "middle",
|
|
360
|
+
nameGap: 50,
|
|
361
|
+
nameTextStyle: { color: e.textColor, fontSize: 12 },
|
|
362
|
+
position: "right",
|
|
363
|
+
min: h - 1,
|
|
364
|
+
max: i + 1,
|
|
365
|
+
inverse: !1,
|
|
366
|
+
axisLine: { lineStyle: { color: "#ddd" } },
|
|
367
|
+
axisLabel: { color: e.textColor, fontSize: 11, formatter: (m) => m.toFixed(2) },
|
|
368
|
+
splitLine: { show: !1 }
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
series: l
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
getMockData() {
|
|
375
|
+
var o;
|
|
376
|
+
const e = ((o = this.props.conf) == null ? void 0 : o.data) || this.getDefaultData(), a = [];
|
|
377
|
+
return e.forEach((l, t) => {
|
|
378
|
+
const s = [];
|
|
379
|
+
for (let c = 0; c <= 25; c++) {
|
|
380
|
+
const u = -c * 3, h = (t + 1) * 5 + c * 0.5;
|
|
381
|
+
s.push([h + Math.sin(c * 0.3) * 2, u]);
|
|
382
|
+
}
|
|
383
|
+
a.push({
|
|
384
|
+
name: l.name || `曲线${t + 1}`,
|
|
385
|
+
color: l.color || "#4a90d9",
|
|
386
|
+
data: s
|
|
387
|
+
});
|
|
388
|
+
}), a;
|
|
389
|
+
}
|
|
390
|
+
// 覆盖基类方法:处理联动事件
|
|
391
|
+
onLinkEvent(e) {
|
|
392
|
+
se(e);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
const g = new x(v, "deepDisplacementChart");
|
|
396
|
+
g.setupLifecycle();
|
|
397
|
+
const w = g.getStyle(), Q = g.getEchartId(), B = ge("session", null), y = N(""), b = N([]), O = N([]), A = N(null), X = (r) => {
|
|
398
|
+
if (r == null || r === "") return null;
|
|
399
|
+
const e = typeof r == "string" ? r : String(r);
|
|
400
|
+
if (/^\d+$/.test(e)) return F(Number(e));
|
|
401
|
+
const a = F(e);
|
|
402
|
+
return a.isValid() ? a : null;
|
|
403
|
+
}, Y = (r, e) => {
|
|
404
|
+
const a = (l) => {
|
|
405
|
+
if (!l) return null;
|
|
406
|
+
const t = F(l);
|
|
407
|
+
return t.isValid() ? l.length <= 10 ? t.startOf("day") : t : null;
|
|
408
|
+
}, o = (l) => {
|
|
409
|
+
if (!l) return null;
|
|
410
|
+
const t = F(l);
|
|
411
|
+
return t.isValid() ? l.length <= 10 ? t.endOf("day") : t : null;
|
|
412
|
+
};
|
|
413
|
+
return { start: a(r), end: o(e) };
|
|
414
|
+
}, k = () => {
|
|
415
|
+
if (!A.value) {
|
|
416
|
+
b.value = [...O.value];
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
const { start: r, end: e, timeList: a } = A.value;
|
|
420
|
+
if (a && a.length > 0) {
|
|
421
|
+
const o = new Set(a);
|
|
422
|
+
b.value = O.value.filter((l) => {
|
|
423
|
+
const t = String(l).split(" ")[0];
|
|
424
|
+
return o.has(t) || o.has(String(l));
|
|
425
|
+
});
|
|
426
|
+
} else if (r || e) {
|
|
427
|
+
const { start: o, end: l } = Y(r, e);
|
|
428
|
+
b.value = O.value.filter((t) => {
|
|
429
|
+
const s = X(t);
|
|
430
|
+
return !(!s || !s.isValid() || o && s.isBefore(o) || l && s.isAfter(l));
|
|
431
|
+
});
|
|
432
|
+
} else
|
|
433
|
+
b.value = [...O.value];
|
|
434
|
+
y.value && !b.value.includes(y.value) && (y.value = b.value[b.value.length - 1] || "");
|
|
435
|
+
}, M = (r, e = !0) => {
|
|
436
|
+
if (r == null || r === "") return;
|
|
437
|
+
const a = String(r);
|
|
438
|
+
O.value.includes(a) || (O.value = [...O.value, a]), k(), e && (y.value = a);
|
|
439
|
+
}, Z = () => {
|
|
440
|
+
L();
|
|
441
|
+
}, ee = () => {
|
|
442
|
+
const r = g.getChartInstance();
|
|
443
|
+
if (!r) return;
|
|
444
|
+
const e = r.getDataURL({ type: "png", pixelRatio: 2, backgroundColor: "#fff" }), a = document.createElement("a");
|
|
445
|
+
a.href = e, a.download = `deep-displacement-${y.value || Date.now()}.png`, a.click();
|
|
446
|
+
}, te = N(null), V = N(0), ae = ye(() => ({
|
|
447
|
+
backgroundColor: w.value.bgColor,
|
|
448
|
+
color: w.value.textColor
|
|
449
|
+
})), ne = () => {
|
|
450
|
+
if (v.mode === "edit") return;
|
|
451
|
+
const r = w.value.jumpUrl;
|
|
452
|
+
r && window.open(r, "_blank");
|
|
453
|
+
}, L = () => {
|
|
454
|
+
const r = g.getChartInstance();
|
|
455
|
+
if (r) {
|
|
456
|
+
const e = g.getChartOption();
|
|
457
|
+
r.setOption(e, !0);
|
|
458
|
+
}
|
|
459
|
+
};
|
|
460
|
+
U(() => v.conf, () => {
|
|
461
|
+
g.init(), $(() => L());
|
|
462
|
+
}, { deep: !0 }), U(() => w.value.dispType, () => {
|
|
463
|
+
$(() => L());
|
|
464
|
+
}), U(V, () => {
|
|
465
|
+
$(() => L());
|
|
466
|
+
});
|
|
467
|
+
const le = (r) => {
|
|
468
|
+
if (!B || !r || v.mode !== "preview") return;
|
|
469
|
+
const e = g.getCurrentObjectId();
|
|
470
|
+
if (e === r) return;
|
|
471
|
+
console.log(`[deepDisplacementChart] 切换订阅: ${e} → ${r}`), g.setCurrentObjectId(r);
|
|
472
|
+
const a = I(T({}, v.conf), {
|
|
473
|
+
data: v.conf.data.map((l) => I(T({}, l), { object_id: r }))
|
|
474
|
+
}), o = Ve(a, v.uid, "deepDisplacementChart");
|
|
475
|
+
B.registerComponent({
|
|
476
|
+
id: v.conf.id,
|
|
477
|
+
request: o,
|
|
478
|
+
onUpdate: (l, t) => {
|
|
479
|
+
l === "realtime" && g.setSocketData(t);
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
}, se = (r) => {
|
|
483
|
+
var u, h, i;
|
|
484
|
+
console.log("[deepDisplacementChart] 收到联动事件:", r);
|
|
485
|
+
const { payload: e } = r;
|
|
486
|
+
if (!e) return;
|
|
487
|
+
if (e.type === "filter") {
|
|
488
|
+
const n = e.timeRange || e.dateRange || e.timeRangeValue, p = e.timeList || e.selectedTimes, d = {};
|
|
489
|
+
Array.isArray(p) && p.length > 0 ? d.timeList = p : Array.isArray(n) && n.length ? (d.start = String(n[0]), d.end = String(n[n.length - 1])) : (n != null && n.startDate || n != null && n.start || n != null && n.endDate || n != null && n.end) && (d.start = String(n.startDate || n.start || "") || void 0, d.end = String(n.endDate || n.end || "") || void 0), Object.keys(d).length > 0 ? (A.value = d, k(), !y.value && b.value.length && (y.value = b.value[b.value.length - 1])) : (A.value = null, k());
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
const { objectId: a, deviceId: o } = e, l = v.conf, t = (l == null ? void 0 : l.data) || [], s = (l == null ? void 0 : l.common) || {};
|
|
493
|
+
if (t.length > 0 && !(s != null && s.multiObject)) {
|
|
494
|
+
const n = Ae(s, s == null ? void 0 : s.useAlias, v.uid) || ((u = t[0]) == null ? void 0 : u.object_id), p = a || (e == null ? void 0 : e.object_id);
|
|
495
|
+
if (n && p && String(n) !== String(p))
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
te.value = e;
|
|
499
|
+
let c = null;
|
|
500
|
+
if (a && (c = t.find((n) => String(n.object_id) === String(a))), !c && o && (c = t.find((n) => n.deviceId === o || n.name === o)), c && e) {
|
|
501
|
+
console.log(`[deepDisplacementChart] 匹配 object_id=${a}, 更新图表数据`);
|
|
502
|
+
const n = /* @__PURE__ */ new Map();
|
|
503
|
+
if (t.forEach((p) => {
|
|
504
|
+
if (String(p.object_id) !== String(a)) return;
|
|
505
|
+
const d = p.fv, m = p.depth, f = p.name || "未命名", D = g.getRecordValue(e, d);
|
|
506
|
+
if (D != null && Number.isFinite(Number(D)) && Number.isFinite(m)) {
|
|
507
|
+
const _ = (g.extractStyles().baseElevation || 688) + m;
|
|
508
|
+
n.has(f) || n.set(f, []), n.get(f).push({ depth: m, elevation: _, value: Number(D) });
|
|
509
|
+
}
|
|
510
|
+
}), n.size > 0) {
|
|
511
|
+
const p = String((i = (h = e == null ? void 0 : e.time) != null ? h : e == null ? void 0 : e.datetime) != null ? i : Date.now()), d = /* @__PURE__ */ new Map();
|
|
512
|
+
n.forEach((m, f) => {
|
|
513
|
+
m.sort((D, S) => S.depth - D.depth), d.set(f, m);
|
|
514
|
+
}), M(p), g.timeSeriesData.set(p, d), g.chartData = d, V.value++;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
a && le(a);
|
|
518
|
+
};
|
|
519
|
+
return be(() => {
|
|
520
|
+
g.init();
|
|
521
|
+
}), De(() => {
|
|
522
|
+
g.cleanup();
|
|
523
|
+
}), (r, e) => {
|
|
524
|
+
const a = me, o = he, l = fe, t = de;
|
|
525
|
+
return H(), J("div", {
|
|
526
|
+
class: "deep-displacement-chart-wrapper",
|
|
527
|
+
style: K(ae.value)
|
|
528
|
+
}, [
|
|
529
|
+
j("div", Ie, [
|
|
530
|
+
j("div", Re, [
|
|
531
|
+
e[1] || (e[1] = j("div", { class: "header-indicator" }, null, -1)),
|
|
532
|
+
j("span", ze, Ce(R(w).title), 1)
|
|
533
|
+
])
|
|
534
|
+
]),
|
|
535
|
+
j("div", Fe, [
|
|
536
|
+
j("div", Ue, [
|
|
537
|
+
z(o, {
|
|
538
|
+
modelValue: y.value,
|
|
539
|
+
"onUpdate:modelValue": e[0] || (e[0] = (s) => y.value = s),
|
|
540
|
+
placeholder: "选择时间",
|
|
541
|
+
size: "small",
|
|
542
|
+
class: "time-select",
|
|
543
|
+
onChange: Z
|
|
544
|
+
}, {
|
|
545
|
+
default: G(() => [
|
|
546
|
+
(H(!0), J(xe, null, Se(b.value, (s) => (H(), _e(a, {
|
|
547
|
+
key: s,
|
|
548
|
+
label: s,
|
|
549
|
+
value: s
|
|
550
|
+
}, null, 8, ["label", "value"]))), 128))
|
|
551
|
+
]),
|
|
552
|
+
_: 1
|
|
553
|
+
}, 8, ["modelValue"]),
|
|
554
|
+
z(t, {
|
|
555
|
+
size: "small",
|
|
556
|
+
class: "export-btn",
|
|
557
|
+
onClick: ee
|
|
558
|
+
}, {
|
|
559
|
+
default: G(() => [
|
|
560
|
+
z(l, null, {
|
|
561
|
+
default: G(() => [
|
|
562
|
+
z(R(je))
|
|
563
|
+
]),
|
|
564
|
+
_: 1
|
|
565
|
+
}),
|
|
566
|
+
e[2] || (e[2] = Ee(" 导出图 ", -1))
|
|
567
|
+
]),
|
|
568
|
+
_: 1
|
|
569
|
+
})
|
|
570
|
+
]),
|
|
571
|
+
j("div", {
|
|
572
|
+
id: R(Q),
|
|
573
|
+
class: "chart-container",
|
|
574
|
+
style: K({ cursor: R(w).jumpUrl ? "pointer" : "default" }),
|
|
575
|
+
onClick: ne
|
|
576
|
+
}, null, 12, $e)
|
|
577
|
+
]),
|
|
578
|
+
Oe(r.$slots, "default", {}, void 0, !0)
|
|
579
|
+
], 4);
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
})), ut = /* @__PURE__ */ ke(Ke, [["__scopeId", "data-v-3d5464cf"]]);
|
|
583
|
+
export {
|
|
584
|
+
ut as default
|
|
585
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";var te=Object.defineProperty,ae=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var $=(N,g,S)=>g in N?te(N,g,{enumerable:!0,configurable:!0,writable:!0,value:S}):N[g]=S,L=(N,g)=>{for(var S in g||(g={}))le.call(g,S)&&$(N,S,g[S]);if(U)for(var S of U(g))se.call(g,S)&&$(N,S,g[S]);return N},I=(N,g)=>ae(N,ne(g));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/icon/style/css");require("element-plus/es/components/select/style/css");require("element-plus/es/components/option/style/css");const s=require("vue"),oe=require("@element-plus/icons-vue");require("html2canvas");const R=require("./element-resize-detector-Bo5uDQAu.cjs"),j=require("./index-Mh5Dw2sd.cjs"),ie=require("./EChartComponentBase-BaQpBzVC.cjs"),re=require("./request-Bn100qAJ.cjs"),B=require("./ele-lin-icon-Dke_1AmT.cjs"),ce={class:"panel-header"},ue={class:"header-left"},pe={class:"header-title"},de={class:"chart-area"},he={class:"toolbar"},me=["id"],fe={DEFAULT_ICON:B.DEFAULT_ICON,ACTIVE_ICON:B.ACTIVE_ICON,NAME_CN:"深部位移图表",NAME_EN:"Deep Displacement Chart",ORDER:1},ve={title:{value:"深部位移图表",type:"string",label:"component.deepDisplacementChart.title"},dispType:{value:"cumulative",type:"select",label:"component.deepDisplacementChart.dispType",options:[{label:"component.deepDisplacementChart.dispTypeOptions.cumulative",value:"cumulative"},{label:"component.deepDisplacementChart.dispTypeOptions.relative",value:"relative"}]},bgColor:{value:"#ffffff",type:"color",label:"setting.bgColor"},textColor:{value:"#333333",type:"color",label:"setting.textColor"},xAxisName:{value:"位移量(mm)",type:"string",label:"component.deepDisplacementChart.xAxisName"},yAxisLeftName:{value:"深度(m)",type:"string",label:"component.deepDisplacementChart.yAxisLeftName"},yAxisRightName:{value:"高程(m)",type:"string",label:"component.deepDisplacementChart.yAxisRightName"},baseElevation:{value:688,type:"number",label:"基准高程(m)"},jumpUrl:{value:"",type:"string",label:"component.deepDisplacementChart.jumpUrl"},linkChannel:{value:"deepDisplacement",type:"select",label:"component.linkChannel",options:[{label:"component.linkChannelOptions.deepDisplacement",value:"deepDisplacement"},{label:"component.linkChannelOptions.gnss",value:"gnss"},{label:"component.linkChannelOptions.slope",value:"slope"},{label:"component.linkChannelOptions.device",value:"device"},{label:"component.linkChannelOptions.alarm",value:"alarm"},{label:"component.linkChannelOptions.custom",value:"custom"}]},customChannel:{value:"",type:"string",label:"component.customChannel",showWhen:{linkChannel:"custom"}}},ge=[{name:"合位移",fv:"disp_130",depth:-130,color:"#4a90d9",object_id:""},{name:"合位移",fv:"disp_140",depth:-140,color:"#4a90d9",object_id:""}],ye=["name","fv","depth","color","object_id"],be=["mosaic","statistics","calculate","statisticsRealtime","calculateRealtime"],De={useAlias:!1,multiObject:!0,source:"mosaic"},Ce={DEFAULT:fe,OPTIONS:ve,DATA:ge,PARAMS:ye,SOURCE:be,COMMON:De},xe=s.defineComponent(I(L({},Ce),{__name:"deepDisplacementChart",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(N){const g=N;class S extends ie.EChartComponentBase{constructor(){super(...arguments),this.currentObjectId="",this.chartData=new Map,this.timeSeriesData=new Map,this.latestValues=new Map}getRecordValue(e,a){return e&&Object.prototype.hasOwnProperty.call(e,a)?e[a]:e!=null&&e.event?this.extractDataValue(e,a):e==null?void 0:e[a]}getDepthValue(e){const a=Number(e);return Number.isFinite(a)?a:null}extractStyles(){var t,o,u,d,h,r,n,p,f,m,v;const{options:e}=this.props.conf,a=((t=e==null?void 0:e.linkChannel)==null?void 0:t.value)||"deepDisplacement",i=((o=e==null?void 0:e.customChannel)==null?void 0:o.value)||"",l=a==="custom"&&i?i:a;return{title:((u=e==null?void 0:e.title)==null?void 0:u.value)||"深部位移图表",dispType:((d=e==null?void 0:e.dispType)==null?void 0:d.value)||"cumulative",bgColor:((h=e==null?void 0:e.bgColor)==null?void 0:h.value)||"#ffffff",textColor:((r=e==null?void 0:e.textColor)==null?void 0:r.value)||"#333333",xAxisName:((n=e==null?void 0:e.xAxisName)==null?void 0:n.value)||"位移量(mm)",yAxisLeftName:((p=e==null?void 0:e.yAxisLeftName)==null?void 0:p.value)||"深度(m)",yAxisRightName:((f=e==null?void 0:e.yAxisRightName)==null?void 0:f.value)||"高程(m)",baseElevation:((m=e==null?void 0:e.baseElevation)==null?void 0:m.value)||688,jumpUrl:((v=e==null?void 0:e.jumpUrl)==null?void 0:v.value)||"",linkChannel:l}}getDefaultData(){return[{name:"合位移",fv:"disp_130",depth:-130,color:"#4a90d9",object_id:""},{name:"合位移",fv:"disp_140",depth:-140,color:"#4a90d9",object_id:""}]}setHistoryData(e){var o,u,d;const{data:a,common:i}=this.props.conf;if(!a||a.length===0)return;const l=(i==null?void 0:i.source)||"mosaic";["statistics","calculate"].includes(l)&&(e=R.formatStatisticsResult(e,a));const t=R.handleNullData(e,this.props,"history");if(t){console.log("[DeepDisplacementChart] history raw sample:",((u=(o=t.history)==null?void 0:o[0])==null?void 0:u[0])||((d=t.history)==null?void 0:d[0])||t.history);try{if(this.chartData.clear(),this.timeSeriesData.clear(),D.value=[],O.value=[],!t.history||!Array.isArray(t.history))return;const h=t.history.length>0&&Array.isArray(t.history[0]);if(console.log("[DeepDisplacementChart] ===== 开始处理历史数据 ====="),console.log("[DeepDisplacementChart] response.history 长度:",t.history.length),console.log("[DeepDisplacementChart] 是否多对象数据:",h),console.log("[DeepDisplacementChart] 配置项数量:",a.length),console.log("[DeepDisplacementChart] 配置项:",a.map(r=>({name:r.name,fv:r.fv,object_id:r.object_id}))),!h)console.log("[DeepDisplacementChart] 单对象模式"),this.processHistoryRecords(t.history,a);else{console.log("[DeepDisplacementChart] 多对象模式,对象数量:",t.history.length);const r=[...new Set(a.map(n=>n.object_id).filter(Boolean))];if(console.log("[DeepDisplacementChart] 配置的对象ID:",r),r.length===1){const n=t.history[0]||[];this.processHistoryRecords(n,a)}else this.processMultiObjectHistory(t.history,a,r)}if(A(),!b.value&&D.value.length&&(b.value=D.value[D.value.length-1]),console.log("[DeepDisplacementChart] 选中时间:",b.value),console.log("[DeepDisplacementChart] timeSeriesData 中的时间点:",Array.from(this.timeSeriesData.keys())),b.value&&this.timeSeriesData.has(b.value)){const r=this.timeSeriesData.get(b.value);console.log("[DeepDisplacementChart] 选中时间的数据,线:",Array.from((r==null?void 0:r.keys())||[])),this.chartData=new Map(r||new Map)}console.log("[DeepDisplacementChart] 最终 chartData 中的线:",Array.from(this.chartData.keys())),M.value++}catch(h){console.error("[DeepDisplacementChart] 解析历史数据失败:",h)}}}processHistoryRecords(e,a){e.forEach(i=>{var o;const l=(o=i==null?void 0:i.time)!=null?o:i==null?void 0:i.datetime;if(!l)return;const t=new Map;if(a.forEach(u=>{const d=u.fv,h=u.depth,r=u.name||"未命名",n=this.getRecordValue(i,d),p=Number(n);if(n!=null&&Number.isFinite(h)){const m=(this.extractStyles().baseElevation||688)+h;t.has(r)||t.set(r,[]),t.get(r).push({depth:h,elevation:m,value:Number.isFinite(p)?p:0})}}),t.size>0){const u=new Map;t.forEach((d,h)=>{d.sort((r,n)=>n.depth-r.depth),u.set(h,d)}),this.timeSeriesData.set(String(l),u),V(l)}})}processMultiObjectHistory(e,a,i){const l=e[0]||[];l.length&&l.forEach((t,o)=>{var h;const u=(h=t==null?void 0:t.time)!=null?h:t==null?void 0:t.datetime;if(!u)return;const d=new Map;if(a.forEach(r=>{const n=r.fv,p=r.depth,f=r.name||"未命名",m=r.object_id,v=i.indexOf(m);if(v===-1||!e[v])return;const C=e[v];if(!C[o])return;const E=C[o],_=this.getRecordValue(E,n),x=Number(_);if(_!=null&&Number.isFinite(p)){const ee=(this.extractStyles().baseElevation||688)+p;d.has(f)||d.set(f,[]),d.get(f).push({depth:p,elevation:ee,value:x})}}),d.size>0){const r=new Map;d.forEach((n,p)=>{n.sort((f,m)=>m.depth-f.depth),r.set(p,n)}),this.timeSeriesData.set(String(u),r),V(u)}})}setSocketData(e){var i,l;if(!e)return;const{data:a}=this.props.conf;if(!(!a||a.length===0))try{const t=(l=(i=e==null?void 0:e.time)!=null?i:e==null?void 0:e.datetime)!=null?l:Date.now(),o=new Map;console.log("[DeepDisplacementChart] realtime raw:",e),a.forEach(d=>{const h=d.fv,r=this.getDepthValue(d.depth),n=d.name||"未命名",p=this.extractDataValue(e,h);console.log("[DeepDisplacementChart] realtime fv:",h,"rawValue:",p),p!=null&&Number.isFinite(Number(p))&&this.latestValues.set(h,Number(p));const f=this.latestValues.get(h);if(f!==void 0&&r!==null){const v=(this.extractStyles().baseElevation||688)+r;o.has(n)||o.set(n,[]),o.get(n).push({depth:r,elevation:v,value:f})}});const u=new Map;o.forEach((d,h)=>{d.sort((r,n)=>n.depth-r.depth),u.set(h,d)}),u.size>0&&(console.log("[DeepDisplacementChart] realtime series keys:",Array.from(u.keys())),console.log("[DeepDisplacementChart] realtime series data:",Array.from(u.entries())),this.timeSeriesData.set(String(t),u),V(t),this.chartData=u,M.value++)}catch(t){console.error("[DeepDisplacementChart] 解析实时数据失败:",t)}}setCurrentObjectId(e){this.currentObjectId=e}getCurrentObjectId(){return this.currentObjectId}getChartOption(){var f;const e=this.extractStyles(),a=((f=this.props.conf)==null?void 0:f.data)||[],i=b.value;i&&this.timeSeriesData.has(i)&&(this.chartData=new Map(this.timeSeriesData.get(i)||new Map));const l=[];let t=[],o=[];this.chartData.forEach((m,v)=>{if(m.length===0)return;m.forEach(x=>{x.depth!==void 0&&t.push(x.depth),x.elevation!==void 0&&o.push(x.elevation)});const C=[...m].sort((x,F)=>(F.depth||0)-(x.depth||0)),E=a.find(x=>x.name===v),_=(E==null?void 0:E.color)||"#4a90d9";l.push({name:v,type:"line",data:C.map(x=>[x.value||0,x.depth||0]),smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{color:_,width:2},itemStyle:{color:_,borderColor:"#fff",borderWidth:2},yAxisIndex:0})}),l.length===0&&this.getMockData().forEach(v=>{l.push({name:v.name,type:"line",data:v.data,smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{color:v.color,width:2},itemStyle:{color:v.color,borderColor:"#fff",borderWidth:2},yAxisIndex:0}),v.data.forEach(C=>t.push(C[1]))});const u=t.length>0?Math.min(...t):-80,d=t.length>0?Math.max(...t):0,h=o.length>0?Math.min(...o):810,r=o.length>0?Math.max(...o):890,n=r||890,p=m=>n+m;return{grid:{left:80,right:80,top:36,bottom:88},tooltip:{trigger:"axis",backgroundColor:"rgba(255,255,255,0.95)",borderColor:"#e5e5e5",textStyle:{color:"#333",fontSize:12},formatter:m=>{if(!m||m.length===0)return"";const v=m[0].data[1],C=p(v);let E=`<div style="padding:8px;max-width:300px;">
|
|
2
|
+
<div style="font-weight:600;margin-bottom:6px;">深度: ${v}m</div>
|
|
3
|
+
<div style="color:#666;margin-bottom:6px;">高程: ${C.toFixed(2)}m</div>`;return m.forEach(_=>{E+=`<div style="display:flex;align-items:center;margin:2px 0;">
|
|
4
|
+
<span style="display:inline-block;width:8px;height:8px;border-radius:50%;background:${_.color};margin-right:6px;"></span>
|
|
5
|
+
<span style="flex:1;">${_.seriesName}: ${_.data[0].toFixed(2)} mm</span>
|
|
6
|
+
</div>`}),E+="</div>",E}},legend:{type:"scroll",orient:"horizontal",bottom:10,itemWidth:16,itemHeight:10,itemGap:10,textStyle:{color:e.textColor,fontSize:12}},xAxis:{type:"value",name:e.xAxisName,nameLocation:"middle",nameGap:30,nameTextStyle:{color:e.textColor,fontSize:12},axisLine:{lineStyle:{color:"#ddd"}},axisLabel:{color:e.textColor,fontSize:11},splitLine:{lineStyle:{color:"#f0f0f0",type:"dashed"}}},yAxis:[{type:"value",name:e.yAxisLeftName,nameLocation:"middle",nameGap:50,nameTextStyle:{color:e.textColor,fontSize:12},position:"left",min:u-1,max:d+1,inverse:!1,axisLine:{lineStyle:{color:"#ddd"}},axisLabel:{color:e.textColor,fontSize:11},splitLine:{lineStyle:{color:"#f0f0f0",type:"dashed"}}},{type:"value",name:e.yAxisRightName,nameLocation:"middle",nameGap:50,nameTextStyle:{color:e.textColor,fontSize:12},position:"right",min:h-1,max:r+1,inverse:!1,axisLine:{lineStyle:{color:"#ddd"}},axisLabel:{color:e.textColor,fontSize:11,formatter:m=>m.toFixed(2)},splitLine:{show:!1}}],series:l}}getMockData(){var i;const e=((i=this.props.conf)==null?void 0:i.data)||this.getDefaultData(),a=[];return e.forEach((l,t)=>{const o=[];for(let u=0;u<=25;u++){const d=-u*3,h=(t+1)*5+u*.5;o.push([h+Math.sin(u*.3)*2,d])}a.push({name:l.name||`曲线${t+1}`,color:l.color||"#4a90d9",data:o})}),a}onLinkEvent(e){Z(e)}}const y=new S(g,"deepDisplacementChart");y.setupLifecycle();const w=y.getStyle(),H=y.getEchartId(),q=s.inject("session",null),b=s.ref(""),D=s.ref([]),O=s.ref([]),k=s.ref(null),G=c=>{if(c==null||c==="")return null;const e=typeof c=="string"?c:String(c);if(/^\d+$/.test(e))return j.dayjs(Number(e));const a=j.dayjs(e);return a.isValid()?a:null},P=(c,e)=>{const a=l=>{if(!l)return null;const t=j.dayjs(l);return t.isValid()?l.length<=10?t.startOf("day"):t:null},i=l=>{if(!l)return null;const t=j.dayjs(l);return t.isValid()?l.length<=10?t.endOf("day"):t:null};return{start:a(c),end:i(e)}},A=()=>{if(!k.value){D.value=[...O.value];return}const{start:c,end:e,timeList:a}=k.value;if(a&&a.length>0){const i=new Set(a);D.value=O.value.filter(l=>{const t=String(l).split(" ")[0];return i.has(t)||i.has(String(l))})}else if(c||e){const{start:i,end:l}=P(c,e);D.value=O.value.filter(t=>{const o=G(t);return!(!o||!o.isValid()||i&&o.isBefore(i)||l&&o.isAfter(l))})}else D.value=[...O.value];b.value&&!D.value.includes(b.value)&&(b.value=D.value[D.value.length-1]||"")},V=(c,e=!0)=>{if(c==null||c==="")return;const a=String(c);O.value.includes(a)||(O.value=[...O.value,a]),A(),e&&(b.value=a)},W=()=>{T()},J=()=>{const c=y.getChartInstance();if(!c)return;const e=c.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),a=document.createElement("a");a.href=e,a.download=`deep-displacement-${b.value||Date.now()}.png`,a.click()},K=s.ref(null),M=s.ref(0),Q=s.computed(()=>({backgroundColor:w.value.bgColor,color:w.value.textColor})),X=()=>{if(g.mode==="edit")return;const c=w.value.jumpUrl;c&&window.open(c,"_blank")},T=()=>{const c=y.getChartInstance();if(c){const e=y.getChartOption();c.setOption(e,!0)}};s.watch(()=>g.conf,()=>{y.init(),s.nextTick(()=>T())},{deep:!0}),s.watch(()=>w.value.dispType,()=>{s.nextTick(()=>T())}),s.watch(M,()=>{s.nextTick(()=>T())});const Y=c=>{if(!q||!c||g.mode!=="preview")return;const e=y.getCurrentObjectId();if(e===c)return;console.log(`[deepDisplacementChart] 切换订阅: ${e} → ${c}`),y.setCurrentObjectId(c);const a=I(L({},g.conf),{data:g.conf.data.map(l=>I(L({},l),{object_id:c}))}),i=re.formatRequest(a,g.uid,"deepDisplacementChart");q.registerComponent({id:g.conf.id,request:i,onUpdate:(l,t)=>{l==="realtime"&&y.setSocketData(t)}})},Z=c=>{var d,h,r;console.log("[deepDisplacementChart] 收到联动事件:",c);const{payload:e}=c;if(!e)return;if(e.type==="filter"){const n=e.timeRange||e.dateRange||e.timeRangeValue,p=e.timeList||e.selectedTimes,f={};Array.isArray(p)&&p.length>0?f.timeList=p:Array.isArray(n)&&n.length?(f.start=String(n[0]),f.end=String(n[n.length-1])):(n!=null&&n.startDate||n!=null&&n.start||n!=null&&n.endDate||n!=null&&n.end)&&(f.start=String(n.startDate||n.start||"")||void 0,f.end=String(n.endDate||n.end||"")||void 0),Object.keys(f).length>0?(k.value=f,A(),!b.value&&D.value.length&&(b.value=D.value[D.value.length-1])):(k.value=null,A());return}const{objectId:a,deviceId:i}=e,l=g.conf,t=(l==null?void 0:l.data)||[],o=(l==null?void 0:l.common)||{};if(t.length>0&&!(o!=null&&o.multiObject)){const n=R.getObjectId(o,o==null?void 0:o.useAlias,g.uid)||((d=t[0])==null?void 0:d.object_id),p=a||(e==null?void 0:e.object_id);if(n&&p&&String(n)!==String(p))return}K.value=e;let u=null;if(a&&(u=t.find(n=>String(n.object_id)===String(a))),!u&&i&&(u=t.find(n=>n.deviceId===i||n.name===i)),u&&e){console.log(`[deepDisplacementChart] 匹配 object_id=${a}, 更新图表数据`);const n=new Map;if(t.forEach(p=>{if(String(p.object_id)!==String(a))return;const f=p.fv,m=p.depth,v=p.name||"未命名",C=y.getRecordValue(e,f);if(C!=null&&Number.isFinite(Number(C))&&Number.isFinite(m)){const _=(y.extractStyles().baseElevation||688)+m;n.has(v)||n.set(v,[]),n.get(v).push({depth:m,elevation:_,value:Number(C)})}}),n.size>0){const p=String((r=(h=e==null?void 0:e.time)!=null?h:e==null?void 0:e.datetime)!=null?r:Date.now()),f=new Map;n.forEach((m,v)=>{m.sort((C,E)=>E.depth-C.depth),f.set(v,m)}),V(p),y.timeSeriesData.set(p,f),y.chartData=f,M.value++}}a&&Y(a)};return s.onMounted(()=>{y.init()}),s.onUnmounted(()=>{y.cleanup()}),(c,e)=>{const a=z.ElOption,i=z.ElSelect,l=z.ElIcon,t=z.ElButton;return s.openBlock(),s.createElementBlock("div",{class:"deep-displacement-chart-wrapper",style:s.normalizeStyle(Q.value)},[s.createElementVNode("div",ce,[s.createElementVNode("div",ue,[e[1]||(e[1]=s.createElementVNode("div",{class:"header-indicator"},null,-1)),s.createElementVNode("span",pe,s.toDisplayString(s.unref(w).title),1)])]),s.createElementVNode("div",de,[s.createElementVNode("div",he,[s.createVNode(i,{modelValue:b.value,"onUpdate:modelValue":e[0]||(e[0]=o=>b.value=o),placeholder:"选择时间",size:"small",class:"time-select",onChange:W},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(D.value,o=>(s.openBlock(),s.createBlock(a,{key:o,label:o,value:o},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),s.createVNode(t,{size:"small",class:"export-btn",onClick:J},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(s.unref(oe.Download))]),_:1}),e[2]||(e[2]=s.createTextVNode(" 导出图 ",-1))]),_:1})]),s.createElementVNode("div",{id:s.unref(H),class:"chart-container",style:s.normalizeStyle({cursor:s.unref(w).jumpUrl?"pointer":"default"}),onClick:X},null,12,me)]),s.renderSlot(c.$slots,"default",{},void 0,!0)],4)}}})),Se=j._export_sfc(xe,[["__scopeId","data-v-3d5464cf"]]);exports.default=Se;
|