@kq_npm/client3d_webgl_vue 4.5.30 → 4.5.31

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/sceneapp/index.js CHANGED
@@ -2212,7 +2212,7 @@ const __default__ = {
2212
2212
  expose: __expose
2213
2213
  }) {
2214
2214
  const props = __props;
2215
- let accept = ".zip,.geojson,.topojson,.json,.kml,.kmz,.czml,.csv,.xls,.xlsx,.txt,.dwg,.dfx,.kqgeobody";
2215
+ let accept = ".zip,.geojson,.topojson,.json,.kml,.kmz,.czml,.csv,.xls,.xlsx,.txt,.dwg,.dxf,.kqgeobody";
2216
2216
  const {
2217
2217
  proxy
2218
2218
  } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
@@ -38335,10 +38335,6 @@ var global_event_default = /*#__PURE__*/__webpack_require__.n(global_event_);
38335
38335
 
38336
38336
  class WindyViewModel {
38337
38337
  // 气象效果设置全局变量
38338
- //绘制管理对象
38339
- //绘制完成监听事件
38340
- // 是否线剖切
38341
- // 点剖切
38342
38338
  constructor(layerManager) {
38343
38339
  (0,defineProperty/* default */.Z)(this, "_sceneView", null);
38344
38340
 
@@ -38357,7 +38353,7 @@ class WindyViewModel {
38357
38353
  // 粒子宽度 1-100 对应实际宽度的 0-5px
38358
38354
  maxNum: 30,
38359
38355
  // 最大粒子数 1-100 对应实际密度 1-1000
38360
- opacity: 100 // 不透明度 1-100 对应实际color的aplha通道1-255
38356
+ opacity: 1 // 不透明度 1-100 对应实际color的aplha通道1-255
38361
38357
 
38362
38358
  }
38363
38359
  });
@@ -38378,8 +38374,8 @@ class WindyViewModel {
38378
38374
  },
38379
38375
  temperature: {
38380
38376
  groups: ['TEMPERATURE', 'SCS_SEA_TEMPERATURE', 'SCS_TEMPERATURE', 'SEA_TEMPERATURE_DAILY', 'DONGHAI_TEMPERATURE', 'DONGHAI_SEA_TEMPERATURE_DAILY'],
38381
- colors: ['rgba(115, 70, 105, 1)', 'rgba(202, 172, 195, 1)', 'rgba(162, 70, 145, 1)', 'rgba(143, 89, 169, 1)', 'rgba(157, 219, 217, 1)', 'rgba(106, 191, 181, 1)', 'rgba(100, 166, 189, 1)', 'rgba(93, 133, 198, 1)', 'rgba(68, 125, 99, 1)', 'rgba(128, 147, 24, 1)', 'rgba(243, 183, 4, 1)', 'rgba(232, 83, 25, 1)', 'rgba(71, 14, 0, 1)'],
38382
- ranges: [203.15, 218.15, 233.15, 248.15, 258.15, 265.15, 269.15, 273.15, 274.15, 283.15, 294.15, 303.15, 320.15]
38377
+ colors: ['rgb(149, 137, 211)', 'rgb(150, 209, 216)', 'rgb(129, 204, 197)', 'rgb(103, 180, 186)', 'rgb(95, 143, 197)', 'rgb(80, 140, 62)', 'rgb(121, 146, 28)', 'rgb(171, 161, 14)', 'rgb(223, 177, 6)', 'rgb(243, 150, 6)', 'rgb(236, 95, 21)', 'rgb(190, 65, 18)', 'rgb(138, 43, 10)'],
38378
+ ranges: [-20, -10, 0, 10, 20, 40]
38383
38379
  },
38384
38380
  tp: {
38385
38381
  groups: ['PRECIPITATION', 'SCS_PRECIPITATION', 'DONGHAI_PRECIPITATION'],
@@ -38393,41 +38389,11 @@ class WindyViewModel {
38393
38389
  }
38394
38390
  }));
38395
38391
 
38396
- (0,defineProperty/* default */.Z)(this, "_windySlicingDrawManager", null);
38397
-
38398
- (0,defineProperty/* default */.Z)(this, "_windySlicingRemoveEventListener", null);
38399
-
38400
- (0,defineProperty/* default */.Z)(this, "_windySlicingOptions", {});
38401
-
38402
- (0,defineProperty/* default */.Z)(this, "_windySlicingLayerconfig", null);
38403
-
38404
- (0,defineProperty/* default */.Z)(this, "_windySlicingPolylineHandler", null);
38405
-
38406
- (0,defineProperty/* default */.Z)(this, "_isDrawPolyline", false);
38407
-
38408
- (0,defineProperty/* default */.Z)(this, "_pointSlicingHtmlTag", null);
38409
-
38410
- (0,defineProperty/* default */.Z)(this, "_volumePrimitives", []);
38411
-
38412
- (0,defineProperty/* default */.Z)(this, "_volumePrimitive", null);
38413
-
38414
- (0,defineProperty/* default */.Z)(this, "_currentVolumeOption", null);
38415
-
38416
- (0,defineProperty/* default */.Z)(this, "_currentVolumePosition", null);
38392
+ (0,defineProperty/* default */.Z)(this, "windyProviders", {});
38417
38393
 
38418
38394
  this._sceneView = layerManager._scenceView;
38419
38395
  this._viewer = layerManager._viewer;
38420
38396
  this._layerManager = layerManager;
38421
- this._windySlicingDrawManager = this._sceneView._drawManager;
38422
- var that = this;
38423
- that._windySlicingRemoveEventListener = that._windySlicingDrawManager.drawFinishedEvent.addEventListener(shape => {
38424
- if (shape && shape.type === "rectangle") {
38425
- that.windySlicingRectangleSlicing(shape.bounds);
38426
- }
38427
-
38428
- that._windySlicingDrawManager.clear();
38429
- });
38430
- this._windySlicingPolylineHandler = new window.Cesium.ScreenSpaceEventHandler(this._viewer.canvas);
38431
38397
  } // 设置全局气象效果参数消息
38432
38398
 
38433
38399
 
@@ -38567,13 +38533,18 @@ class WindyViewModel {
38567
38533
  const getLayer = suffix => this._layerManager.getLayerByGuid(`${layerData.guid}${suffix}`, "imagerylayer"); // 初始化图层对象和URL参数
38568
38534
 
38569
38535
 
38570
- const layerObj = { ...layerData,
38571
- url: (0,util_.urlAppend)(layerData.url, "limit=false")
38536
+ const layerObj = { ...layerData
38572
38537
  };
38573
38538
  const [layerMain, layerParticle, layerWind] = ["", "_particle", "_wind"].map(getLayer); // 处理时间索引逻辑
38574
38539
 
38575
38540
  const timeIndex = 'timeIndex' in params && typeof params.timeIndex === 'number' && params.timeIndex >= 1 ? params.timeIndex : 0;
38576
- [layerMain, layerParticle, layerWind].forEach(layer => updateTimeIndex(layer, timeIndex)); // 处理粒子图层可见性
38541
+ [layerMain, layerParticle, layerWind].forEach(layer => updateTimeIndex(layer, timeIndex)); // 处理粒子图层参数
38542
+
38543
+ if (params.particle && layerParticle) {
38544
+ this.windyProviders[layerParticle.guid].particleOptions = this.getParticleOptions(null, params);
38545
+ this.windyProviders[layerParticle.guid]._reload?.();
38546
+ } // 处理粒子图层可见性
38547
+
38577
38548
 
38578
38549
  if ('showVelocity' in params) {
38579
38550
  const showParticle = bool ?? params.showVelocity;
@@ -38589,6 +38560,7 @@ class WindyViewModel {
38589
38560
 
38590
38561
  if ('removeLayer' in params) {
38591
38562
  [layerParticle, layerWind].forEach(layer => layer && this._viewer.imageryLayers.remove(layer));
38563
+ this.windyProvider = {};
38592
38564
  }
38593
38565
  }
38594
38566
  /**
@@ -38613,6 +38585,7 @@ class WindyViewModel {
38613
38585
  imageryProvider: imageryProvider,
38614
38586
  clampToGround: true,
38615
38587
  tileCacheSize: 300,
38588
+ name: item.collectionName + "_test",
38616
38589
  mergeTile: true,
38617
38590
  netCDFFieldInfor: {
38618
38591
  lo1: "lo1",
@@ -38626,8 +38599,6 @@ class WindyViewModel {
38626
38599
  classificationType: Cesium.ClassificationType.BOTH,
38627
38600
  //CESIUM_3D_TILE BOTH
38628
38601
  particleOptions: this.getParticleOptions(item),
38629
- zValueIndex: 0,
38630
- timeIndex: 0,
38631
38602
  useCache: false
38632
38603
  });
38633
38604
 
@@ -38637,20 +38608,8 @@ class WindyViewModel {
38637
38608
  windyLayer._guid = guid + "_particle";
38638
38609
 
38639
38610
  this._viewer.imageryLayers.lowerToBottom(windyLayer);
38640
- }
38641
- /**
38642
- * 更新粒子图层参数
38643
- * @param {String} guid 图层guid
38644
- * @param {Object} options 粒子参数
38645
- */
38646
-
38647
38611
 
38648
- setParticleLayerOptions(guid, options) {
38649
- let layerParticle = this.getLayerByGuid(guid + "_particle", "imagerylayer");
38650
-
38651
- if (layerParticle) {
38652
- Object.assign(layerParticle.particleOptions, options);
38653
- }
38612
+ this.windyProviders[windyLayer._guid] = windyProvider;
38654
38613
  }
38655
38614
  /**
38656
38615
  * 获取三维粒子图层参数配置
@@ -38658,32 +38617,35 @@ class WindyViewModel {
38658
38617
  */
38659
38618
 
38660
38619
 
38661
- getParticleOptions(options) {
38620
+ getParticleOptions(options, params) {
38621
+ const speedFactor = Number(options?.particle?.speedFactor ?? params?.particle?.speed ?? 25) / 10;
38622
+ const lineWidth = Number(options?.particle?.lineWidth ?? params?.particle?.width ?? 20) / 10;
38623
+ const maxParticles = Number(options?.particle?.maxParticles ?? params?.particle?.maxNum ?? 30) * 1000;
38662
38624
  return {
38663
- maxParticles: Cesium.defaultValue(options.maxParticles, 40000),
38625
+ maxParticles: Cesium.defaultValue(maxParticles, 40000),
38664
38626
  //场景中的风粒子最大数量
38665
- particleHeight: Cesium.defaultValue(options.particleHeight, 10000.0),
38627
+ particleHeight: Cesium.defaultValue(options?.particle?.particleHeight, 10000.0),
38666
38628
  //风粒子的高度
38667
- fadeOpacity: Cesium.defaultValue(options.fadeOpacity, 0.98),
38629
+ fadeOpacity: Cesium.defaultValue(options?.particle?.fadeOpacity, 0.98),
38668
38630
  //风粒子的不透明度
38669
- dropRate: Cesium.defaultValue(options.dropRate, 0.01),
38631
+ dropRate: Cesium.defaultValue(options?.particle?.dropRate, 0.01),
38670
38632
  //风粒子的减少比例
38671
- dropRateBump: Cesium.defaultValue(options.dropRateBump, 0.001),
38633
+ dropRateBump: Cesium.defaultValue(options?.particle?.dropRateBump, 0.001),
38672
38634
  //风粒子的消失比例
38673
- speedFactor: Cesium.defaultValue(options.speedFactor, 3),
38635
+ speedFactor: Cesium.defaultValue(speedFactor, 3),
38674
38636
  //场景中风粒子的消失基本跨度单位。
38675
- lineWidth: Cesium.defaultValue(options.lineWidth, 3),
38637
+ lineWidth: Cesium.defaultValue(lineWidth, 3),
38676
38638
  //场景中风粒子的线宽
38677
- isFollowEllipse: typeof options.isFollowEllipse == 'undefined' ? true : options.isFollowEllipse,
38639
+ isFollowEllipse: typeof options?.particle?.isFollowEllipse == 'undefined' ? true : options?.particle?.isFollowEllipse,
38678
38640
  //场景中风粒子数是否跟随视角进行变化
38679
- isSpeedOrDir: typeof options.isSpeedOrDir == 'undefined' ? true : options.isSpeedOrDir,
38641
+ isSpeedOrDir: typeof options?.particle?.isSpeedOrDir == 'undefined' ? true : options?.particle?.isSpeedOrDir,
38680
38642
  //
38681
- isLayerFactor: typeof options.isLayerFactor == 'undefined' ? false : options.isLayerFactor,
38643
+ isLayerFactor: typeof options?.particle?.isLayerFactor == 'undefined' ? false : options?.particle?.isLayerFactor,
38682
38644
  //多层数据-是否逐层渐变显示
38683
- layerHeight: Cesium.defaultValue(options.layerHeight, 200),
38645
+ layerHeight: Cesium.defaultValue(options?.particle?.layerHeight, 200),
38684
38646
  //多层数据-层间距(m)。
38685
- isSingleLayer: typeof options.isSingleLayer == 'undefined' ? false : options.isSingleLayer,
38686
- currentLayer: Cesium.defaultValue(options.currentLayer, 1) //多层数据-单层显示时设置当前层索引
38647
+ isSingleLayer: typeof options?.particle?.isSingleLayer == 'undefined' ? false : options?.particle?.isSingleLayer,
38648
+ currentLayer: Cesium.defaultValue(options?.particle?.currentLayer, 1) //多层数据-单层显示时设置当前层索引
38687
38649
 
38688
38650
  };
38689
38651
  }
@@ -38734,7 +38696,6 @@ class WindyViewModel {
38734
38696
  V: item.varNames.split(",")[1]
38735
38697
  },
38736
38698
  classificationType: Cesium.ClassificationType.BOTH,
38737
- zValueIndex: 0,
38738
38699
  timeIndex: 0
38739
38700
  });
38740
38701
 
@@ -38743,479 +38704,6 @@ class WindyViewModel {
38743
38704
  windyLayer.show = bool != null ? bool : true;
38744
38705
  windyLayer._guid = guid + "_wind";
38745
38706
  }
38746
- /**
38747
- * 创建并控制气象剖切参数
38748
- * @param {String} guid 图层guid
38749
- * @param {Boolean} key 当前操作状态或参数
38750
- * @param {Object} params 气象剖切参数
38751
- */
38752
-
38753
-
38754
- setWindySlicingParams(guid, key, params) {
38755
- let that = this;
38756
- this._windySlicingLayerconfig = null;
38757
- this.getWindySlicingLayer(guid);
38758
- if (!this._windySlicingLayerconfig) return;
38759
- this._viewer.scene.globe.showGroundAtmosphere = false;
38760
- this._viewer.scene.screenSpaceCameraController.maximumZoomDistance = 20_000_000;
38761
- Object.assign(this._windySlicingOptions, params);
38762
-
38763
- switch (key) {
38764
- case "mode":
38765
- that.removeInputAction();
38766
-
38767
- if (this._volumePrimitive) {
38768
- this._viewer.scene.primitives.remove(this._volumePrimitive);
38769
-
38770
- this._volumePrimitive = null;
38771
- }
38772
-
38773
- if (this._windySlicingOptions.mode === "point") {
38774
- this.drawPolylineHandler();
38775
- } else if (this._windySlicingOptions.mode === "line") {
38776
- this.drawPolylineHandler(function (newPositions) {
38777
- that._isDrawPolyline = false;
38778
- that.windySlicingPolylineSlicing(newPositions);
38779
- });
38780
- this._isDrawPolyline = true;
38781
-
38782
- this._windySlicingDrawManager.startDraw("polyline", {
38783
- clampToGround: true
38784
- });
38785
- } else if (this._windySlicingOptions.mode === "polygon") {
38786
- this._windySlicingDrawManager.startDraw("rectangle", {
38787
- clampToGround: true
38788
- });
38789
- } else if (this._windySlicingOptions.mode === "clear") {
38790
- this.windySlicingClear();
38791
- }
38792
-
38793
- break;
38794
-
38795
- case "showAxis":
38796
- if (this._volumePrimitive) this._volumePrimitive.showAxis(params[key]);
38797
- break;
38798
-
38799
- case "slicingType":
38800
- this.windyVoxelsSingleSlicing();
38801
- break;
38802
-
38803
- case "setting":
38804
- console.log(params);
38805
- break;
38806
-
38807
- case "clear":
38808
- this.windySlicingClear();
38809
- break;
38810
-
38811
- case "destroy":
38812
- this.windySlicingDestroy();
38813
- break;
38814
-
38815
- default:
38816
- break;
38817
- }
38818
- }
38819
- /**
38820
- * 获取或设置气象剖切图层配置
38821
- * @param {string} [guid] 可选图层guid
38822
- * @returns {Object|null} 图层配置对象或null
38823
- */
38824
-
38825
-
38826
- getWindySlicingLayer(guid) {
38827
- // 参数校验:确保guid为有效字符串
38828
- const isValidGuid = typeof guid === 'string' && guid.trim() !== ''; // 获取图层配置逻辑
38829
-
38830
- this._windySlicingLayerconfig = isValidGuid ? this._layerManager.getLayerDataByGuid(guid) || null : this._layerManager._layerListData?.find(element => element?.addType === 'kqgisweatherserver') || null; // 可选:添加调试信息或错误处理
38831
-
38832
- if (!this._windySlicingLayerconfig) {
38833
- console.warn('未找到匹配的气象剖切图层配置');
38834
- }
38835
-
38836
- return this._windySlicingLayerconfig;
38837
- }
38838
-
38839
- removeInputAction() {
38840
- if (this._windySlicingPolylineHandler) {
38841
- this._windySlicingPolylineHandler.removeInputAction(window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
38842
-
38843
- this._windySlicingPolylineHandler.removeInputAction(window.Cesium.ScreenSpaceEventType.RIGHT_CLICK);
38844
- } //清除
38845
-
38846
-
38847
- if (this._pointSlicingHtmlTag) {
38848
- this._pointSlicingHtmlTag.destroy();
38849
- }
38850
- } // 两点绘制线结果
38851
-
38852
-
38853
- drawPolylineHandler(callback) {
38854
- let that = this;
38855
- let activeShapePoints = [];
38856
-
38857
- this._windySlicingPolylineHandler.setInputAction(function (event) {
38858
- if (that._isDrawPolyline) {
38859
- let earthPosition = that._viewer.scene.pickPosition(event.position);
38860
-
38861
- if (window.Cesium.defined(earthPosition)) {
38862
- activeShapePoints.push(earthPosition); //单线分析结果显示
38863
-
38864
- if (activeShapePoints.length == 2) {
38865
- that._windySlicingDrawManager.stopDraw();
38866
-
38867
- that.removeInputAction();
38868
- var newPositions = [];
38869
- activeShapePoints.forEach(position => {
38870
- var newPosition = that._windySlicingDrawManager.transformPosition(position);
38871
-
38872
- newPositions.push({
38873
- x: newPosition[0],
38874
- y: newPosition[1]
38875
- });
38876
- });
38877
- if (callback) callback(newPositions);
38878
- }
38879
- }
38880
- } else {
38881
- let cartographic = that._viewer.scene.globe.ellipsoid.cartesianToCartographic(that._viewer.camera.pickEllipsoid(event.position, that._viewer.scene.globe.ellipsoid));
38882
-
38883
- that.getPointSlicingData(cartographic);
38884
- }
38885
- }, window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
38886
-
38887
- if (!that._isDrawPolyline) {
38888
- that._windySlicingPolylineHandler.setInputAction(function (event) {
38889
- that.removeInputAction();
38890
- }, window.Cesium.ScreenSpaceEventType.RIGHT_CLICK);
38891
- }
38892
- }
38893
- /**
38894
- * 获取点的气象数据
38895
- * @param {string} [guid] cartographic拾取的点
38896
- */
38897
-
38898
-
38899
- getPointSlicingData(cartographic) {
38900
- let that = this;
38901
- let X = window.Cesium.Math.toDegrees(cartographic.longitude);
38902
- let Y = window.Cesium.Math.toDegrees(cartographic.latitude);
38903
- let groups = this._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
38904
- let unit = 'm';
38905
-
38906
- if (groups.includes("AIR_PRESSURE")) {
38907
- unit = "hpa";
38908
- }
38909
-
38910
- let data = {
38911
- "collectionName": that._windySlicingLayerconfig?.params?.layer,
38912
- "point": {
38913
- "x": X,
38914
- "y": Y
38915
- },
38916
- "geoSRS": "EPSG:4326",
38917
- type: 1
38918
- }; //清除
38919
-
38920
- if (this._pointSlicingHtmlTag) {
38921
- this._pointSlicingHtmlTag.destroy();
38922
- }
38923
-
38924
- let url = this._windySlicingLayerconfig?.url.replaceAll("/wmts", "").replace("/image", "/image/identify");
38925
- const xhr = new XMLHttpRequest();
38926
- xhr.open('POST', url);
38927
- xhr.setRequestHeader('Content-Type', 'application/json');
38928
-
38929
- xhr.onload = function () {
38930
- if (xhr.status >= 200 && xhr.status < 300) {
38931
- const data = JSON.parse(xhr.responseText);
38932
-
38933
- if (data) {
38934
- let val;
38935
- let getAllVal = data.result.RasterNameValue;
38936
-
38937
- if (that._windySlicingLayerconfig?.params?.layer === 'wind_5' || that._windySlicingLayerconfig?.params?.layer === 'current_global_5') {
38938
- let U = getAllVal[0].value; //经度
38939
-
38940
- let V = getAllVal[1].value; //维度
38941
-
38942
- let directVal = that.direction(U, V);
38943
- let unitName = that._windySlicingLayerconfig?.params?.layer === 'wind_5' ? '风' : '';
38944
- val = directVal.direct + unitName + '&nbsp;&nbsp;' + directVal.speed.toFixed(2);
38945
- } else if (that._windySlicingLayerconfig?.params?.layer === 'hailang') {
38946
- let hldirectVal = that.direction(null, null, getAllVal[4].value); //波浪平均方向
38947
-
38948
- let period = Number(getAllVal[2].value).toFixed(); // 海洋表面温湿度平均周期
38949
-
38950
- let alt = Number(getAllVal[0].value).toFixed(); //风浪高度
38951
-
38952
- val = hldirectVal.direct + '&nbsp;&nbsp;' + '周期' + '&nbsp;&nbsp;' + period + 's' + '&nbsp;&nbsp;&nbsp;&nbsp;' + alt;
38953
- } else {
38954
- val = Number(getAllVal[0].value);
38955
- }
38956
-
38957
- let value = val + '&nbsp;&nbsp;' + unit;
38958
- that.setWindySlicingPointData(value, cartographic); //显示拾取数据
38959
- }
38960
- } else {
38961
- console.error('Request error:', xhr.statusText);
38962
- }
38963
- };
38964
-
38965
- xhr.onerror = function () {
38966
- console.error('Request error!');
38967
- };
38968
-
38969
- xhr.send(JSON.stringify(data));
38970
- }
38971
- /**
38972
- * 展现气象服务点数据
38973
- * @param {*} val 数值
38974
- * @param {*} position 坐标
38975
- */
38976
-
38977
-
38978
- setWindySlicingPointData(val, position) {
38979
- let myposition = window.Cesium.Cartesian3.fromRadians(position.longitude, position.latitude, position.height);
38980
- let html = `<div class="pickClass" style="">
38981
- <div style="display: block;position: absolute;left: 0px;right: 0;width: 2px;height: 140px;background: rgba(68,65,65,.84)">
38982
- <span style="background:rgba(68,65,65,.84);padding:5px 18px;text-align: center;line-height: 1.9;color: #fff;border-top-right-radius: 20px;border-bottom-right-radius: 20px;white-space: nowrap;cursor: move;display: inline-block;">${val}</span>
38983
- </div>
38984
- </div>`; // 点标注
38985
-
38986
- this._pointSlicingHtmlTag = new window.Cesium.Kq3dHtmlTag(this._viewer, {
38987
- html: html,
38988
- position: myposition,
38989
- // 获取到的位置
38990
- anchor: [0, -140],
38991
- // 设置标注的偏移量
38992
- noEvent: false
38993
- });
38994
- }
38995
- /**
38996
- * 创建线剖切
38997
- * @param {Object} polyline 绘制的线坐标数据
38998
- */
38999
-
39000
-
39001
- windySlicingPolylineSlicing(polyline) {
39002
- this._currentVolumePosition = polyline;
39003
- if (!this._windySlicingLayerconfig) return;
39004
- let proConfig = this._PRODUCT_CONFIG;
39005
- if (!proConfig) return;
39006
- let colors = proConfig[this._windySlicingLayerconfig?.params?.productType]?.colors;
39007
- let ranges = proConfig[this._windySlicingLayerconfig?.params?.productType]?.ranges;
39008
- let groups = proConfig[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
39009
- let img = colors && this.generateImage(colors);
39010
- if (!img) return;
39011
- let unit = 'm';
39012
-
39013
- if (groups.includes("AIR_PRESSURE")) {
39014
- unit = "hpa";
39015
- }
39016
-
39017
- this._currentVolumeOption = {
39018
- viewer: this._viewer,
39019
- url: this._windySlicingLayerconfig.url.replaceAll("/wmts", ""),
39020
- collectionName: this._windySlicingLayerconfig?.params?.layer,
39021
- image: img,
39022
- // 高度偏移
39023
- offset: 0,
39024
- // 高度放大比例
39025
- scale: unit == 'hpa' ? 18 : 300,
39026
- unit: unit,
39027
- attrRange: [ranges[0], ranges[ranges.length - 1]],
39028
- varName: this._windySlicingLayerconfig?.params?.varNames
39029
- };
39030
-
39031
- if (this._volumePrimitive) {
39032
- this._viewer.scene.primitives.remove(this._volumePrimitive);
39033
-
39034
- this._volumePrimitive = null;
39035
- }
39036
-
39037
- this._volumePrimitive = new Cesium.Kq3dGridVolumeProvider(this._currentVolumeOption);
39038
-
39039
- this._volumePrimitive.showSection(polyline); // this._volumePrimitives.push(gridVolumePolyline)
39040
-
39041
-
39042
- this.setViewEntity(calculateBoundingBox(polyline)); // 核心计算方法
39043
-
39044
- function calculateBoundingBox(points) {
39045
- // 初始化边界值
39046
- let minX = Infinity,
39047
- maxX = -Infinity;
39048
- let minY = Infinity,
39049
- maxY = -Infinity; // 遍历所有坐标点
39050
-
39051
- for (const point of points) {
39052
- minX = Math.min(minX, point.x);
39053
- maxX = Math.max(maxX, point.x);
39054
- minY = Math.min(minY, point.y);
39055
- maxY = Math.max(maxY, point.y);
39056
- }
39057
-
39058
- return {
39059
- minX: minX,
39060
- // 西经(最小经度)
39061
- maxX: maxX,
39062
- // 东经(最大经度)
39063
- minY: minY,
39064
- // 南纬(最小纬度)
39065
- maxY: maxY // 北纬(最大纬度)
39066
-
39067
- };
39068
- }
39069
- }
39070
- /**
39071
- * 面剖切
39072
- * @param {Object} rect 矩形四至
39073
- */
39074
-
39075
-
39076
- windySlicingRectangleSlicing(rect) {
39077
- this._currentVolumePosition = rect;
39078
- if (!this._windySlicingLayerconfig) return;
39079
- let proConfig = this._PRODUCT_CONFIG;
39080
- if (!proConfig) return;
39081
- let colors = proConfig[this._windySlicingLayerconfig?.params?.productType]?.colors;
39082
- let ranges = proConfig[this._windySlicingLayerconfig?.params?.productType]?.ranges;
39083
- let groups = proConfig[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
39084
- let img = colors && this.generateImage(colors);
39085
- if (!img) return;
39086
- let unit = 'm';
39087
-
39088
- if (groups.includes("AIR_PRESSURE")) {
39089
- unit = "hpa";
39090
- }
39091
-
39092
- if (this._volumePrimitive) {
39093
- this._viewer.scene.primitives.remove(this._volumePrimitive);
39094
-
39095
- this._volumePrimitive = null;
39096
- }
39097
-
39098
- this._currentVolumeOption = {
39099
- viewer: this._viewer,
39100
- url: this._windySlicingLayerconfig.url.replaceAll("/wmts", ""),
39101
- collectionName: this._windySlicingLayerconfig?.params?.layer,
39102
- image: img,
39103
- // 高度偏移
39104
- offset: 1000,
39105
- // 高度放大比例
39106
- scale: unit == 'hpa' ? 18 : 300,
39107
- unit: unit,
39108
- attrRange: [ranges[0], ranges[ranges.length - 1]],
39109
- varName: this._windySlicingLayerconfig?.params?.varNames
39110
- };
39111
- this._volumePrimitive = new Cesium.Kq3dGridVolumeProvider(this._currentVolumeOption);
39112
-
39113
- this._volumePrimitive.showSections(rect);
39114
-
39115
- this.setViewEntity(rect); // this._volumePrimitives.push(gridVolume)
39116
- }
39117
-
39118
- windyVoxelsSingleSlicing() {
39119
- if (!Cesium.Kq3dGridVoxelsSingleProviderExt) {
39120
- console.log("Kq3dGridVoxelsSingleProviderExt class cannot be empty");
39121
- return;
39122
- }
39123
-
39124
- if (this._volumePrimitive) {
39125
- this._viewer.scene.primitives.remove(this._volumePrimitive);
39126
-
39127
- this._volumePrimitive = null;
39128
- }
39129
-
39130
- if (this._currentVolumeOption && this._currentVolumePosition) {
39131
- this._volumePrimitive = new Cesium.Kq3dGridVoxelsSingleProviderExt(this.options);
39132
- this.volumePrimitive.showVoxels(rect);
39133
- }
39134
- } // 设置entity视角缩放
39135
-
39136
-
39137
- setViewEntity(rect) {
39138
- var rectangle = new Cesium.Rectangle(Cesium.Math.toRadians(rect.minX), Cesium.Math.toRadians(rect.minY), Cesium.Math.toRadians(rect.maxX), Cesium.Math.toRadians(rect.maxY));
39139
-
39140
- let entity = this._viewer.entities.add({
39141
- name: 'Blue translucent, rotated, and extruded ellipse with outline',
39142
- rectangle: {
39143
- coordinates: rectangle,
39144
- material: Cesium.Color.RED.withAlpha(0)
39145
- }
39146
- });
39147
-
39148
- this._viewer.flyTo(entity, {
39149
- duration: 1,
39150
- offset: {
39151
- heading: Cesium.Math.toRadians(-30),
39152
- pitch: Cesium.Math.toRadians(-30),
39153
- range: 1100000
39154
- }
39155
- });
39156
-
39157
- setTimeout(() => {
39158
- this._viewer.entities.remove(entity);
39159
- }, 1000);
39160
- } // 根据颜色表生成图片
39161
-
39162
-
39163
- generateImage(colors) {
39164
- var canvas = document.createElement('canvas');
39165
- var context = canvas.getContext('2d'); // 设置画布大小为500x300像素
39166
-
39167
- canvas.width = 434;
39168
- canvas.height = 27; // 计算每个颜色所占据的区域大小
39169
-
39170
- var scale = 1 / (colors.length - 1); // 创建一个线性渐变
39171
-
39172
- const gradient = context.createLinearGradient(0, 0, canvas.width, canvas.height);
39173
- gradient.addColorStop(0, colors[0]); // 渐变开始的颜色
39174
- // 绘制颜色条形
39175
-
39176
- for (let i = 1; i < colors.length; i++) {
39177
- gradient.addColorStop(i * scale, colors[i]);
39178
- } // 填充渐变
39179
-
39180
-
39181
- context.fillStyle = gradient;
39182
- context.fillRect(0, 0, canvas.width, canvas.height);
39183
- var imageDataUrl = canvas.toDataURL('image/png');
39184
- return imageDataUrl;
39185
- } //清清除剖切分析结果
39186
-
39187
-
39188
- windySlicingClear() {
39189
- // for (let i = 0; i < this._volumePrimitives.length; i++) {
39190
- // this._viewer.scene.primitives.remove(this._volumePrimitives[i]);
39191
- // }
39192
- // this._volumePrimitives = [];
39193
- if (this._volumePrimitive) this._viewer.scene.primitives.remove(this._volumePrimitive);
39194
- this.removeInputAction();
39195
- this._isDrawPolyline = false;
39196
- this._viewer.scene.globe.showGroundAtmosphere = true;
39197
- this._viewer.scene.screenSpaceCameraController.maximumZoomDistance = Number.POSITIVE_INFINITY;
39198
-
39199
- this._windySlicingDrawManager.stopDraw();
39200
-
39201
- this._windySlicingDrawManager.clear();
39202
- }
39203
- /**
39204
- * 销毁剖切分析
39205
- * @param {Boolean} isRemoveEventListener 是否删除监听,默认false
39206
- */
39207
-
39208
-
39209
- windySlicingDestroy(isRemoveEventListener = false) {
39210
- this.windySlicingClear();
39211
- if (this._windySlicingOptions) this._windySlicingOptions = {};
39212
-
39213
- if (isRemoveEventListener) {
39214
- //移除监听事件
39215
- this._windySlicingRemoveEventListener && this._windySlicingRemoveEventListener();
39216
- this._windySlicingRemoveEventListener = null;
39217
- }
39218
- }
39219
38707
 
39220
38708
  }
39221
38709
  ;// CONCATENATED MODULE: ./src/webgl/sceneview/LayerManager.js
@@ -39733,7 +39221,7 @@ class LayerManager {
39733
39221
  layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dKQGISServerImageryProviderExt({
39734
39222
  name: name,
39735
39223
  url: url,
39736
- layerName: layerData.layerName,
39224
+ layerName: layerData.layerName || layerData.id,
39737
39225
  ...params
39738
39226
  }));
39739
39227
  layer._guid = layerData.guid;
@@ -40380,7 +39868,7 @@ class LayerManager {
40380
39868
  }
40381
39869
  } else if (this._layerListData[i].addType && this._layerListData[i].addType === 'kqgisweatherserver') {
40382
39870
  this.addLayerData(this._layerListData[i]);
40383
- this.setLayerParams(this._layerListData[i].guid, this._layerListData[i]);
39871
+ this.setLayerParams(this._layerListData[i].guid, Object.assign({}, this._layerListData[i], this._windyViewModel._windyParams));
40384
39872
  }
40385
39873
  }
40386
39874
  }
@@ -40493,20 +39981,36 @@ class LayerManager {
40493
39981
  return layer;
40494
39982
  }
40495
39983
  /**
40496
- * 获取所有影像服务显示状态图层的数据
39984
+ * 获取所有影像服务显示状态的图层数据-栅格
40497
39985
  */
40498
39986
 
40499
39987
 
40500
39988
  getImageLayerCheckedList() {
40501
- let checkerLayer = [];
39989
+ let checkedLayers = [];
39990
+
39991
+ this._layerListData.forEach(layer => {
39992
+ if (layer.visible && layer.addType === "kqgisimageserver") {
39993
+ checkedLayers.push(layer);
39994
+ }
39995
+ }, this);
39996
+
39997
+ return JSON.parse(JSON.stringify(checkedLayers));
39998
+ }
39999
+ /**
40000
+ * 获取所有影像服务显示状态的图层数据-气象
40001
+ */
40002
+
40003
+
40004
+ getWeatherLayerCheckedList() {
40005
+ let checkedLayers = [];
40502
40006
 
40503
40007
  this._layerListData.forEach(layer => {
40504
- if (layer.visible && layer instanceof Cesium.ImageryLayer) {
40008
+ if (layer.visible && layer.addType === "kqgisweatherserver") {
40505
40009
  checkedLayers.push(layer);
40506
40010
  }
40507
40011
  }, this);
40508
40012
 
40509
- return JSON.parse(JSON.stringify(checkerLayer));
40013
+ return JSON.parse(JSON.stringify(checkedLayers));
40510
40014
  }
40511
40015
  /**
40512
40016
  * 删除气象图层
@@ -49391,10 +48895,6 @@ class TyphoonTracViewModel {
49391
48895
 
49392
48896
  (0,defineProperty/* default */.Z)(this, "divPoint", null);
49393
48897
 
49394
- (0,defineProperty/* default */.Z)(this, "warningLine_24", null);
49395
-
49396
- (0,defineProperty/* default */.Z)(this, "warningLine_48", null);
49397
-
49398
48898
  (0,defineProperty/* default */.Z)(this, "eventListener", null);
49399
48899
 
49400
48900
  (0,defineProperty/* default */.Z)(this, "eventListener2", null);
@@ -49690,6 +49190,25 @@ class TyphoonTracViewModel {
49690
49190
  heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
49691
49191
  disableDepthTestDistance: Number.POSITIVE_INFINITY
49692
49192
  }
49193
+ });
49194
+ this.warningText_24 = this._viewer.entities.add({
49195
+ rectangle: {
49196
+ coordinates: Cesium.Rectangle.fromDegrees(124.81268223770111, 28.97726827231024, 129.27365416588438, 29.506550516414443),
49197
+ classificationType: Cesium.ClassificationType.BOTH,
49198
+ material: new Cesium.Kq3dTextMaterial({
49199
+ text: '24小时警戒线',
49200
+ textStyles: {
49201
+ font: "80px sans-serif",
49202
+ fill: true,
49203
+ fillColor: Cesium.Color.fromCssColorString('#828314'),
49204
+ stroke: false,
49205
+ backgroundColor: new Cesium.Color(0, 0, 0, 0),
49206
+ padding: 5
49207
+ }
49208
+ }),
49209
+ rotation: Cesium.Math.toRadians(90),
49210
+ stRotation: Cesium.Math.toRadians(90)
49211
+ }
49693
49212
  }); // 48小时警戒线
49694
49213
 
49695
49214
  this.warningLine_48 = this._viewer.entities.add({
@@ -49705,6 +49224,25 @@ class TyphoonTracViewModel {
49705
49224
  clampToGround: true
49706
49225
  }
49707
49226
  });
49227
+ this.warningText_48 = this._viewer.entities.add({
49228
+ rectangle: {
49229
+ coordinates: Cesium.Rectangle.fromDegrees(130.11221856757763, 29.95719074491648, 134.07046985436628, 30.639828156283777),
49230
+ classificationType: Cesium.ClassificationType.BOTH,
49231
+ material: new Cesium.Kq3dTextMaterial({
49232
+ text: '48小时警戒线',
49233
+ textStyles: {
49234
+ font: "60px sans-serif",
49235
+ fill: true,
49236
+ fillColor: Cesium.Color.fromCssColorString('#4dba3d'),
49237
+ stroke: false,
49238
+ backgroundColor: new Cesium.Color(0, 0, 0, 0),
49239
+ padding: 5
49240
+ }
49241
+ }),
49242
+ rotation: Cesium.Math.toRadians(90),
49243
+ stRotation: Cesium.Math.toRadians(90)
49244
+ }
49245
+ });
49708
49246
  }
49709
49247
 
49710
49248
  remove(tfid) {
@@ -49764,10 +49302,10 @@ class TyphoonTracViewModel {
49764
49302
 
49765
49303
 
49766
49304
  destroy() {
49767
- this._viewer.entities.remove(this.warningLine_48);
49768
-
49769
- this._viewer.entities.remove(this.warningLine_24);
49770
-
49305
+ this.warningLine_48 && this._viewer.entities.remove(this.warningLine_48);
49306
+ this.warningText_48 && this._viewer.entities.remove(this.warningText_48);
49307
+ this.warningLine_24 && this._viewer.entities.remove(this.warningLine_24);
49308
+ this.warningText_24 && this._viewer.entities.remove(this.warningText_24);
49771
49309
  this.clear();
49772
49310
  }
49773
49311
 
@@ -49961,7 +49499,6 @@ const __default__ = {
49961
49499
  if (scenceView) {
49962
49500
  viewModel = new TyphoonTracViewModel(scenceView);
49963
49501
  viewModel._language = language.value;
49964
- formItem.showWarningLine && viewModel && viewModel.createWarningLine();
49965
49502
  formItem.typhoonTracPath && getDataByPath();
49966
49503
 
49967
49504
  if (props.getTyphoonTracListByApi) {
@@ -50145,6 +49682,7 @@ const __default__ = {
50145
49682
  }
50146
49683
 
50147
49684
  tableData.value = res;
49685
+ formItem.showWarningLine && viewModel && viewModel.createWarningLine();
50148
49686
  clear();
50149
49687
  }
50150
49688
  });
@@ -55107,7 +54645,7 @@ class WindySlicingViewModel {
55107
54645
 
55108
54646
  (0,defineProperty/* default */.Z)(this, "callbackParams", null);
55109
54647
 
55110
- (0,defineProperty/* default */.Z)(this, "currentSlicingUnit", "m");
54648
+ (0,defineProperty/* default */.Z)(this, "volumelines", null);
55111
54649
 
55112
54650
  this._sceneView = scenceView;
55113
54651
  this._layerManager = scenceView._layerManager;
@@ -55136,13 +54674,8 @@ class WindySlicingViewModel {
55136
54674
 
55137
54675
  switch (key) {
55138
54676
  case "mode":
55139
- that.removeInputAction();
55140
-
55141
- if (this._volumePrimitive) {
55142
- this._viewer.scene.primitives.remove(this._volumePrimitive);
55143
-
55144
- this._volumePrimitive = null;
55145
- }
54677
+ this.removeInputAction();
54678
+ this.removeVolumePrimitive();
55146
54679
 
55147
54680
  if (this._options.mode === "point") {
55148
54681
  this._windySlicingDrawManager.stopDraw();
@@ -55168,12 +54701,34 @@ class WindySlicingViewModel {
55168
54701
 
55169
54702
  break;
55170
54703
 
55171
- case "showAxis":
55172
- if (this._volumePrimitive) this._volumePrimitive.showAxis(this._options[key]);
54704
+ case "slicingType":
54705
+ this.removeVolumePrimitive();
54706
+
54707
+ if (this._options.slicingType == 1) {
54708
+ if (this._options.styleType == "1") {
54709
+ if (this._currentVolumePosition) this.windySlicingRectangleSlicing(this._currentVolumePosition);
54710
+ }
54711
+ } else {
54712
+ this.windyVoxelsSingleSlicing();
54713
+ }
54714
+
55173
54715
  break;
55174
54716
 
55175
- case "slicingType":
55176
- this.windyVoxelsSingleSlicing();
54717
+ case "styleType":
54718
+ this.removeVolumePrimitive();
54719
+
54720
+ if (this._options.styleType == "1") {
54721
+ if (this._currentVolumePosition) this.windySlicingRectangleSlicing(this._currentVolumePosition);
54722
+ } else {
54723
+ if (this._currentVolumePosition) {
54724
+ this.windySlicingSurfaceSection(this._currentVolumePosition, this._windySlicingLayerconfig);
54725
+ }
54726
+ }
54727
+
54728
+ break;
54729
+
54730
+ case "showAxis":
54731
+ if (this._volumePrimitive) this._volumePrimitive.showAxis(this._options[key]);
55177
54732
  break;
55178
54733
 
55179
54734
  case "enableLayering":
@@ -55185,6 +54740,18 @@ class WindySlicingViewModel {
55185
54740
  if (this._volumePrimitive) this._volumePrimitive.scale = this._options[key];
55186
54741
  break;
55187
54742
 
54743
+ case "altitudeControl":
54744
+ this.removeVolumePrimitive();
54745
+
54746
+ if (this._currentVolumePosition) {
54747
+ let layerConfig = JSON.parse(JSON.stringify(this._windySlicingLayerconfig));
54748
+ this.windySlicingSurfaceSection(this._currentVolumePosition, Object.assign(layerConfig, {
54749
+ zValues: val
54750
+ }));
54751
+ }
54752
+
54753
+ break;
54754
+
55188
54755
  case "destroy":
55189
54756
  this.destroy();
55190
54757
  break;
@@ -55196,7 +54763,7 @@ class WindySlicingViewModel {
55196
54763
 
55197
54764
 
55198
54765
  setEnableLayeringVisible() {
55199
- let zValues = this._windySlicingLayerconfig?.params?.zValues;
54766
+ let zValues = this._windySlicingLayerconfig?.zValues;
55200
54767
  let zVisibles = [];
55201
54768
 
55202
54769
  if (this._options?.enableLayering) {
@@ -55208,7 +54775,7 @@ class WindySlicingViewModel {
55208
54775
  }
55209
54776
  }
55210
54777
 
55211
- this._volumePrimitive.updateVisibles(this.currentSlicingUnit == 'hpa' ? zVisibles.reverse() : zVisibles);
54778
+ this._volumePrimitive.updateVisibles(this._windySlicingLayerconfig.unit == 'hpa' ? zVisibles.reverse() : zVisibles);
55212
54779
  } else {
55213
54780
  for (let i = zValues.length; i > 0; i--) {
55214
54781
  zVisibles.push(false);
@@ -55234,16 +54801,41 @@ class WindySlicingViewModel {
55234
54801
  console.warn('未找到匹配的气象剖切图层配置');
55235
54802
  }
55236
54803
 
55237
- let groups = this._layerManager._windyViewModel?._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
54804
+ this._windySlicingLayerconfig.groups = this._layerManager._windyViewModel?._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
54805
+ this._windySlicingLayerconfig.colors = this._layerManager._windyViewModel?._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.colors ?? [];
54806
+ this._windySlicingLayerconfig.ranges = this._layerManager._windyViewModel?._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.ranges ?? [];
54807
+ this._windySlicingLayerconfig.unit = "m";
55238
54808
 
55239
- if (groups.includes("AIR_PRESSURE")) {
55240
- this.currentSlicingUnit = "hpa";
54809
+ if (this._windySlicingLayerconfig.groups.includes("AIR_PRESSURE")) {
54810
+ this._windySlicingLayerconfig.unit = "hpa";
55241
54811
  }
55242
54812
 
55243
- this.callbackParams && this.callbackParams("enableLayerings", this._windySlicingLayerconfig?.params?.zValues ?? []);
55244
- this.callbackParams && this.callbackParams("currentSlicingUnit", this.currentSlicingUnit);
54813
+ this._windySlicingLayerconfig.zValues = this._windySlicingLayerconfig?.zValues ?? this._windySlicingLayerconfig?.params?.zValues ?? [];
54814
+ this.callbackParams && this.callbackParams("slicingLayerConfig", this._windySlicingLayerconfig);
55245
54815
  return this._windySlicingLayerconfig;
55246
- }
54816
+ } // 清除剖切分析实例
54817
+
54818
+
54819
+ removeVolumePrimitive() {
54820
+ if (this._volumePrimitive) {
54821
+ this._viewer.scene.primitives.remove(this._volumePrimitive);
54822
+
54823
+ this._volumePrimitive = null;
54824
+ }
54825
+
54826
+ if (this._volumePrimitive1) {
54827
+ this._viewer.scene.primitives.remove(this._volumePrimitive1);
54828
+
54829
+ this._volumePrimitive1 = null;
54830
+ }
54831
+
54832
+ if (this._volumePrimitive2) {
54833
+ this._viewer.scene.primitives.remove(this._volumePrimitive2);
54834
+
54835
+ this._volumePrimitive2 = null;
54836
+ }
54837
+ } // 清除左右鼠标点击事件及弹框
54838
+
55247
54839
 
55248
54840
  removeInputAction() {
55249
54841
  if (this._windySlicingPolylineHandler) {
@@ -55309,13 +54901,7 @@ class WindySlicingViewModel {
55309
54901
  let that = this;
55310
54902
  let X = window.Cesium.Math.toDegrees(cartographic.longitude);
55311
54903
  let Y = window.Cesium.Math.toDegrees(cartographic.latitude);
55312
- let groups = this._layerManager._windyViewModel._PRODUCT_CONFIG[this._windySlicingLayerconfig?.params?.productType]?.groups ?? [];
55313
- let unit = 'm';
55314
-
55315
- if (groups.includes("AIR_PRESSURE")) {
55316
- unit = "hpa";
55317
- }
55318
-
54904
+ let unit = this._windySlicingLayerconfig.unit;
55319
54905
  let data = {
55320
54906
  "collectionName": that._windySlicingLayerconfig?.params?.layer,
55321
54907
  "point": {
@@ -55403,13 +54989,11 @@ class WindySlicingViewModel {
55403
54989
  } // 重构剖切参数
55404
54990
 
55405
54991
 
55406
- getSlicingParams(position) {
54992
+ getSlicingParams(position, params) {
55407
54993
  this._currentVolumePosition = position;
55408
54994
  if (!this._windySlicingLayerconfig) return;
55409
- let proConfig = this._layerManager._windyViewModel._PRODUCT_CONFIG;
55410
- if (!proConfig) return;
55411
- let colors = proConfig[this._windySlicingLayerconfig?.params?.productType]?.colors;
55412
- let ranges = proConfig[this._windySlicingLayerconfig?.params?.productType]?.ranges;
54995
+ let colors = this._windySlicingLayerconfig?.colors ?? [];
54996
+ let ranges = this._windySlicingLayerconfig?.ranges ?? [];
55413
54997
  let img = colors && this.generateImage(colors);
55414
54998
  if (!img) return;
55415
54999
  this._currentVolumeOption = {
@@ -55418,21 +55002,14 @@ class WindySlicingViewModel {
55418
55002
  collectionName: this._windySlicingLayerconfig?.params?.layer,
55419
55003
  image: img,
55420
55004
  // 高度偏移
55421
- offset: 0,
55005
+ offset: 10000,
55422
55006
  // 高度放大比例
55423
- scale: this.currentSlicingUnit == 'hpa' ? 18 : 300,
55424
- unit: this.currentSlicingUnit,
55007
+ scale: this._windySlicingLayerconfig.unit == 'hpa' ? 18 : 300,
55008
+ unit: this._windySlicingLayerconfig.unit,
55425
55009
  attrRange: [ranges[0], ranges[ranges.length - 1]],
55426
55010
  varName: this._windySlicingLayerconfig?.params?.varNames
55427
55011
  };
55428
-
55429
- if (this._volumePrimitive) {
55430
- this._viewer.scene.primitives.remove(this._volumePrimitive);
55431
-
55432
- this._volumePrimitive = null;
55433
- }
55434
-
55435
- this._volumePrimitive = new Cesium.Kq3dGridVolumeProvider(this._currentVolumeOption);
55012
+ return new Cesium.Kq3dGridVolumeProvider(Object.assign({}, this._currentVolumeOption, params || {}));
55436
55013
  }
55437
55014
  /**
55438
55015
  * 创建线剖切
@@ -55441,10 +55018,13 @@ class WindySlicingViewModel {
55441
55018
 
55442
55019
 
55443
55020
  windySlicingPolylineSlicing(polyline) {
55444
- this.getSlicingParams(polyline);
55445
-
55446
- this._volumePrimitive.showSection(polyline); // this._volumePrimitives.push(gridVolumePolyline)
55021
+ this._volumePrimitive = this.getSlicingParams(polyline);
55022
+ let that = this;
55023
+ if (!this._volumePrimitive || !this._volumePrimitive.readyPromise) return;
55447
55024
 
55025
+ this._volumePrimitive.readyPromise.then(() => {
55026
+ that._volumePrimitive.showSection(polyline);
55027
+ });
55448
55028
 
55449
55029
  this.setViewEntity(calculateBoundingBox(polyline)); // 核心计算方法
55450
55030
 
@@ -55475,17 +55055,169 @@ class WindySlicingViewModel {
55475
55055
  }
55476
55056
  }
55477
55057
  /**
55478
- * 面剖切
55058
+ * 面剖切-面分层
55479
55059
  * @param {Object} rect 矩形四至
55480
55060
  */
55481
55061
 
55482
55062
 
55483
55063
  windySlicingRectangleSlicing(rect) {
55484
- this.getSlicingParams(rect);
55064
+ this._volumePrimitive = this.getSlicingParams(rect);
55065
+ let that = this;
55066
+ if (!this._volumePrimitive || !this._volumePrimitive.readyPromise) return;
55485
55067
 
55486
- this._volumePrimitive.showSections(rect);
55068
+ this._volumePrimitive.readyPromise.then(() => {
55069
+ that._volumePrimitive.showSections(rect);
55070
+ });
55487
55071
 
55488
55072
  this.setViewEntity(rect);
55073
+ }
55074
+ /**
55075
+ * 面剖切-面剖
55076
+ * @param {Object} rect 矩形四至
55077
+ */
55078
+
55079
+
55080
+ windySlicingSurfaceSection(rect, data) {
55081
+ let options = {};
55082
+ let zValues = JSON.parse(JSON.stringify(data.zValues));
55083
+
55084
+ if (!zValues || zValues?.length == 0) {
55085
+ zValues = JSON.parse(JSON.stringify(data.ranges));
55086
+ }
55087
+
55088
+ let index = zValues.length - 1;
55089
+
55090
+ if (data.unit != 'hpa') {
55091
+ // options.isReverse = true;
55092
+ index = 0;
55093
+ zValues = zValues.sort((a, b) => a - b);
55094
+ } else {
55095
+ zValues = zValues.sort((a, b) => b - a);
55096
+ }
55097
+
55098
+ options.zValues = zValues;
55099
+ options.showAxis = true;
55100
+ this._volumePrimitive = this.getSlicingParams(rect, options);
55101
+ let that = this;
55102
+ if (!this._volumePrimitive || !this._volumePrimitive.readyPromise) return;
55103
+
55104
+ this._volumePrimitive.readyPromise.then(() => {
55105
+ if (typeof index != 'undefined') {
55106
+ that._volumePrimitive.showPolygonSection(rect, index);
55107
+ } else {
55108
+ that._volumePrimitive.showPolygonSection(rect);
55109
+ }
55110
+ });
55111
+
55112
+ let options1 = JSON.parse(JSON.stringify(options));
55113
+ this.volumelines = this.createXYVolume(this.getRectangle(rect));
55114
+ options1.showAxis = false;
55115
+ this._volumePrimitive1 = this.getSlicingParams(rect, options1);
55116
+ if (!this._volumePrimitive1 || !this._volumePrimitive1.readyPromise) return;
55117
+
55118
+ this._volumePrimitive1.readyPromise.then(() => {
55119
+ that._volumePrimitive1.showSection(that.volumelines?.volumeLine1);
55120
+ });
55121
+
55122
+ this._volumePrimitive2 = this.getSlicingParams(rect, options1);
55123
+ if (!this._volumePrimitive2 || !this._volumePrimitive2.readyPromise) return;
55124
+
55125
+ this._volumePrimitive2.readyPromise.then(() => {
55126
+ that._volumePrimitive2.showSection(that.volumelines?.volumeLine2);
55127
+ });
55128
+
55129
+ this.setViewEntity(rect);
55130
+ }
55131
+
55132
+ getRectangle(rect) {
55133
+ if (typeof rect == 'string') {
55134
+ rect = JSON.parse(rect);
55135
+ }
55136
+
55137
+ let rectangle = new Cesium.Rectangle(Cesium.Math.toRadians(rect.minX), Cesium.Math.toRadians(rect.minY), Cesium.Math.toRadians(rect.maxX), Cesium.Math.toRadians(rect.maxY));
55138
+ return rectangle;
55139
+ }
55140
+
55141
+ createXYVolume(rectangle) {
55142
+ // 获取矩形的四个角点
55143
+ var southwest = Cesium.Rectangle.southwest(rectangle); // 西南角经纬度
55144
+
55145
+ var northwest = Cesium.Rectangle.northwest(rectangle); // 西北角经纬度
55146
+
55147
+ var northeast = Cesium.Rectangle.northeast(rectangle); // 东北角经纬度
55148
+
55149
+ var southeast = Cesium.Rectangle.southeast(rectangle); // 东南角经纬度
55150
+
55151
+ let line1 = [];
55152
+ let line2 = [];
55153
+ let line3 = [];
55154
+ let line4 = []; // 上线
55155
+
55156
+ line1.push({
55157
+ longitude: northeast.longitude / Math.PI * 180,
55158
+ latitude: northeast.latitude / Math.PI * 180
55159
+ });
55160
+ line1.push({
55161
+ longitude: northwest.longitude / Math.PI * 180,
55162
+ latitude: northwest.latitude / Math.PI * 180
55163
+ }); // 下线
55164
+
55165
+ line2.push({
55166
+ longitude: southeast.longitude / Math.PI * 180,
55167
+ latitude: southeast.latitude / Math.PI * 180
55168
+ });
55169
+ line2.push({
55170
+ longitude: southwest.longitude / Math.PI * 180,
55171
+ latitude: southwest.latitude / Math.PI * 180
55172
+ }); // 左线
55173
+
55174
+ line3.push({
55175
+ longitude: northeast.longitude / Math.PI * 180,
55176
+ latitude: northeast.latitude / Math.PI * 180
55177
+ });
55178
+ line3.push({
55179
+ longitude: southeast.longitude / Math.PI * 180,
55180
+ latitude: southeast.latitude / Math.PI * 180
55181
+ }); // 右线
55182
+
55183
+ line4.push({
55184
+ longitude: northwest.longitude / Math.PI * 180,
55185
+ latitude: northwest.latitude / Math.PI * 180
55186
+ });
55187
+ line4.push({
55188
+ longitude: southwest.longitude / Math.PI * 180,
55189
+ latitude: southwest.latitude / Math.PI * 180
55190
+ });
55191
+ let volumeLine1 = [],
55192
+ volumeLine2 = [];
55193
+ volumeLine1.push(this.getLineCenter(line1[0], line1[1]));
55194
+ volumeLine1.push(this.getLineCenter(line2[0], line2[1]));
55195
+ volumeLine2.push(this.getLineCenter(line3[0], line3[1]));
55196
+ volumeLine2.push(this.getLineCenter(line4[0], line4[1]));
55197
+ return {
55198
+ line1,
55199
+ line2,
55200
+ line3,
55201
+ line4,
55202
+ volumeLine1,
55203
+ volumeLine2
55204
+ };
55205
+ } // 获取线段中心点
55206
+
55207
+
55208
+ getLineCenter(startPoint, endPoint) {
55209
+ startPoint = Cesium.Cartesian3.fromDegrees(startPoint.longitude, startPoint.latitude);
55210
+ endPoint = Cesium.Cartesian3.fromDegrees(endPoint.longitude, endPoint.latitude); // 计算线段中心点
55211
+
55212
+ let centerPoint = Cesium.Cartesian3.add(startPoint, endPoint, new Cesium.Cartesian3());
55213
+ centerPoint = Cesium.Cartesian3.divideByScalar(centerPoint, 2.0, new Cesium.Cartesian3()); // 将中心点转换为经纬度
55214
+
55215
+ let centerPointCartographic = Cesium.Cartographic.fromCartesian(centerPoint);
55216
+ let centerPointLatLon = {
55217
+ y: Cesium.Math.toDegrees(centerPointCartographic.latitude),
55218
+ x: Cesium.Math.toDegrees(centerPointCartographic.longitude)
55219
+ };
55220
+ return centerPointLatLon;
55489
55221
  } // 体剖切
55490
55222
 
55491
55223
 
@@ -55495,15 +55227,14 @@ class WindySlicingViewModel {
55495
55227
  return;
55496
55228
  }
55497
55229
 
55498
- if (this._volumePrimitive) {
55499
- this._viewer.scene.primitives.remove(this._volumePrimitive);
55500
-
55501
- this._volumePrimitive = null;
55502
- }
55503
-
55504
55230
  if (this._currentVolumeOption && this._currentVolumePosition) {
55505
- this._volumePrimitive = new Cesium.Kq3dGridVoxelsSingleProviderExt(this.options);
55506
- this.volumePrimitive.showVoxels(rect);
55231
+ this._volumePrimitive = new Cesium.Kq3dGridVoxelsSingleProviderExt(this._currentVolumeOption);
55232
+ let that = this;
55233
+ if (!this._volumePrimitive || !this._volumePrimitive.readyPromise) return;
55234
+
55235
+ this._volumePrimitive.readyPromise.then(() => {
55236
+ that._volumePrimitive.showVoxels(that._currentVolumePosition);
55237
+ });
55507
55238
  }
55508
55239
  } // 设置entity视角缩放
55509
55240
 
@@ -55560,15 +55291,17 @@ class WindySlicingViewModel {
55560
55291
 
55561
55292
 
55562
55293
  clear() {
55563
- if (this._volumePrimitive) this._viewer.scene.primitives.remove(this._volumePrimitive);
55294
+ this.removeVolumePrimitive();
55564
55295
  this.removeInputAction();
55565
55296
  this._isDrawPolyline = false;
55566
- this._viewer.scene.globe.showGroundAtmosphere = true;
55567
- this._viewer.scene.screenSpaceCameraController.maximumZoomDistance = Number.POSITIVE_INFINITY;
55568
55297
 
55569
55298
  this._windySlicingDrawManager.stopDraw();
55570
55299
 
55571
55300
  this._windySlicingDrawManager.clear();
55301
+
55302
+ this._currentVolumePosition = null;
55303
+ this._currentVolumeOption = null;
55304
+ this.volumelines = null;
55572
55305
  } //销毁
55573
55306
 
55574
55307
 
@@ -55581,6 +55314,9 @@ class WindySlicingViewModel {
55581
55314
  this._windySlicingRemoveEventListener && this._windySlicingRemoveEventListener();
55582
55315
  this._windySlicingRemoveEventListener = null;
55583
55316
  }
55317
+
55318
+ this._viewer.scene.globe.showGroundAtmosphere = true;
55319
+ this._viewer.scene.screenSpaceCameraController.maximumZoomDistance = Number.POSITIVE_INFINITY;
55584
55320
  }
55585
55321
 
55586
55322
  }
@@ -55686,23 +55422,37 @@ const __default__ = {
55686
55422
  maxLayerScale: props.settingParams?.maxLayerScale ?? 300,
55687
55423
  // 分层缩放最大值
55688
55424
  altitudeControl: props.settingParams?.altitudeControl ?? 50,
55425
+ // 高度控制
55426
+ maxAltitudeControl: props.settingParams?.maxAltitudeControl ?? 100,
55427
+ // 高度控制
55689
55428
  enableLongSection: props.settingParams?.enableLongSection ?? true,
55690
55429
  // 是否启动经度剖面
55691
55430
  longSectionValue: props.settingParams?.longSectionValue ?? 50,
55692
55431
  // 经度剖面值
55432
+ longSectionValueStep: 1,
55433
+ longSectionValueMin: 1,
55434
+ longSectionValueMax: 10,
55693
55435
  enableLatSection: props.settingParams?.enableLatSection ?? true,
55694
55436
  // 是否启动纬度剖面
55695
55437
  latSectionValue: props.settingParams?.latSectionValue ?? 50,
55696
55438
  // 纬度剖面值
55439
+ latSectionValueStep: 1,
55440
+ latSectionValueMin: 1,
55441
+ latSectionValueMax: 10,
55697
55442
  enableHeightSection: props.settingParams?.enableHeightSection ?? true,
55698
55443
  // 高度剖面
55444
+ heightSectionValueMax: 10,
55445
+ //高度剖面最大值
55699
55446
  heightSectionValue: props.settingParams?.heightSectionValue ?? 50,
55700
55447
  // 等值面高度
55701
55448
  bodyDissectionAxis: props.settingParams?.bodyDissectionAxis ?? true,
55702
55449
  // 体剖切刻度线
55703
55450
  bodyDissectionAlpha: props.settingParams?.bodyDissectionAlpha ?? 1 //体剖切透明度
55704
55451
 
55705
- });
55452
+ }); // 创建深度复制
55453
+
55454
+ let formItemDef = JSON.parse(JSON.stringify(formItem));
55455
+ delete formItemDef.collapseValue;
55706
55456
  let viewModel = null; // 组件容器Ref
55707
55457
 
55708
55458
  let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null); // 生成组件默认header
@@ -55759,8 +55509,8 @@ const __default__ = {
55759
55509
 
55760
55510
 
55761
55511
  const handleWindyTypeChange = data => {
55762
- console.log(data);
55763
55512
  clear();
55513
+ Object.assign(formItem, formItemDef);
55764
55514
 
55765
55515
  if (data?.windyType == "exit") {
55766
55516
  showWindySlicing.value = false;
@@ -55779,14 +55529,19 @@ const __default__ = {
55779
55529
  showSlicingSetting.value = val;
55780
55530
  break;
55781
55531
 
55782
- case "enableLayerings":
55783
- enableLayerings.value = val;
55784
- formItem.enableLayerings = val;
55785
- viewModel._options["enableLayerings"] = val;
55786
- break;
55532
+ case "slicingLayerConfig":
55533
+ if (!Array.isArray(val.zValues) || val.zValues.length === 0) {
55534
+ showWindySlicing.value = false;
55535
+ } else {
55536
+ showWindySlicing.value = true;
55537
+ enableLayerings.value = val.zValues;
55538
+ formItem.enableLayerings = val.zValues;
55539
+ viewModel._options["enableLayerings"] = val.zValues;
55540
+ formItem.altitudeControl = val.zValues.length;
55541
+ formItem.maxAltitudeControl = val.zValues.length;
55542
+ }
55787
55543
 
55788
- case "currentSlicingUnit":
55789
- unit.value = val;
55544
+ unit.value = val.unit;
55790
55545
  break;
55791
55546
 
55792
55547
  default:
@@ -55803,33 +55558,67 @@ const __default__ = {
55803
55558
  formItem.mode = mode;
55804
55559
  viewModel._options.mode = formItem.mode;
55805
55560
  viewModel && viewModel.paramsChanged("mode");
55561
+
55562
+ if (mode == "delete") {
55563
+ Object.assign(formItem, formItemDef);
55564
+ }
55806
55565
  }
55807
55566
  }
55808
55567
 
55809
55568
  function paramsChanged(key) {
55810
- if (!viewModel) return; // 统一使用可选链操作符和空值合并运算符处理参数更新
55569
+ if (!viewModel) return;
55570
+ viewModel._options[key] = formItem[key]; // 处理 slicingType 的特殊逻辑
55811
55571
 
55812
- viewModel._options[key] = formItem[key];
55813
- viewModel.paramsChanged?.(key); // 使用可选链调用方法
55814
- // 处理 slicingType 的特殊逻辑
55572
+ let defaultValues = null;
55815
55573
 
55816
- if (key === "slicingType") {
55817
- const VALID_SLICING_TYPES = {
55818
- 1: "1",
55819
- 3: "3"
55820
- };
55821
- const newStyleType = VALID_SLICING_TYPES[formItem.slicingType];
55574
+ switch (key) {
55575
+ case "slicingType":
55576
+ const VALID_SLICING_TYPES = {
55577
+ 1: "1",
55578
+ 3: "3"
55579
+ };
55580
+ const newStyleType = VALID_SLICING_TYPES[formItem.slicingType];
55822
55581
 
55823
- if (newStyleType) {
55824
- // 同时更新表单数据和 viewModel 配置
55825
- viewModel._options.styleType = formItem.styleType = newStyleType;
55826
- }
55582
+ if (newStyleType) {
55583
+ viewModel._options.styleType = formItem.styleType = newStyleType;
55584
+ }
55585
+
55586
+ break;
55587
+
55588
+ case "altitudeControl":
55589
+ let gdzValues = enableLayerings.value.slice(0, formItem.altitudeControl);
55590
+ formItem.heightSectionValueMax = gdzValues.length;
55591
+ defaultValues = gdzValues;
55592
+ if (!viewModel?.volumelines) return;
55593
+ let jdValue = Math.abs(viewModel?.volumelines.line1[0].longitude - viewModel?.volumelines.line1[1].longitude);
55594
+ jdValue = jdValue.toFixed(3);
55595
+ formItem.longSectionValueStep = jdValue / 100;
55596
+ formItem.longSectionValueMin = -(jdValue / 2);
55597
+ formItem.longSectionValueMax = jdValue / 2;
55598
+ formItem.longSectionValue = 0;
55599
+ let wdValue = Math.abs(viewModel?.volumelines.line4[0].latitude - viewModel?.volumelines.line4[1].latitude);
55600
+ wdValue = wdValue.toFixed(3);
55601
+ formItem.latSectionValueStep = wdValue / 100;
55602
+ formItem.latSectionValueMin = -(wdValue / 2);
55603
+ formItem.latSectionValueMax = wdValue / 2;
55604
+ formItem.latSectionValue = 0;
55605
+ break;
55606
+
55607
+ default:
55608
+ break;
55827
55609
  }
55610
+
55611
+ viewModel.paramsChanged?.(key, defaultValues); // 使用可选链调用方法
55828
55612
  }
55829
55613
 
55830
55614
  function clear() {
55831
55615
  showSlicingSetting.value = false;
55832
55616
  viewModel && viewModel.clear();
55617
+ } // 显示提示信息
55618
+
55619
+
55620
+ function formatTooltip(val) {
55621
+ return enableLayerings.value[val - 1] + unit.value;
55833
55622
  } // 销毁
55834
55623
 
55835
55624
 
@@ -56232,14 +56021,14 @@ const __default__ = {
56232
56021
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
56233
56022
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).altitudeControl,
56234
56023
  "onUpdate:modelValue": _cache[18] || (_cache[18] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).altitudeControl = $event),
56235
- "show-tooltip": false,
56236
56024
  step: 1,
56237
- min: 0,
56238
- max: 100,
56025
+ min: 1,
56026
+ "format-tooltip": formatTooltip,
56027
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxAltitudeControl,
56239
56028
  onChange: _cache[19] || (_cache[19] = $event => paramsChanged('altitudeControl'))
56240
56029
  }, null, 8
56241
56030
  /* PROPS */
56242
- , ["modelValue"])]),
56031
+ , ["modelValue", "max"])]),
56243
56032
  _: 1
56244
56033
  /* STABLE */
56245
56034
 
@@ -56249,14 +56038,14 @@ const __default__ = {
56249
56038
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
56250
56039
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).altitudeControl,
56251
56040
  "onUpdate:modelValue": _cache[20] || (_cache[20] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).altitudeControl = $event),
56252
- min: 0,
56253
- max: 100,
56041
+ min: 1,
56042
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxAltitudeControl,
56254
56043
  step: 1,
56255
56044
  "controls-position": "right",
56256
56045
  onChange: _cache[21] || (_cache[21] = $event => paramsChanged('altitudeControl'))
56257
56046
  }, null, 8
56258
56047
  /* PROPS */
56259
- , ["modelValue"])]),
56048
+ , ["modelValue", "max"])]),
56260
56049
  _: 1
56261
56050
  /* STABLE */
56262
56051
 
@@ -56313,13 +56102,13 @@ const __default__ = {
56313
56102
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValue,
56314
56103
  "onUpdate:modelValue": _cache[23] || (_cache[23] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValue = $event),
56315
56104
  "show-tooltip": false,
56316
- step: 1,
56317
- min: 0,
56318
- max: 100,
56105
+ step: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueStep,
56106
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueMin,
56107
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueMax,
56319
56108
  onChange: _cache[24] || (_cache[24] = $event => paramsChanged('longSectionValue'))
56320
56109
  }, null, 8
56321
56110
  /* PROPS */
56322
- , ["modelValue"])]),
56111
+ , ["modelValue", "step", "min", "max"])]),
56323
56112
  _: 1
56324
56113
  /* STABLE */
56325
56114
 
@@ -56329,14 +56118,14 @@ const __default__ = {
56329
56118
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
56330
56119
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValue,
56331
56120
  "onUpdate:modelValue": _cache[25] || (_cache[25] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValue = $event),
56332
- min: 0,
56333
- max: 100,
56334
- step: 1,
56121
+ step: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueStep,
56122
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueMin,
56123
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).longSectionValueMax,
56335
56124
  "controls-position": "right",
56336
56125
  onChange: _cache[26] || (_cache[26] = $event => paramsChanged('longSectionValue'))
56337
56126
  }, null, 8
56338
56127
  /* PROPS */
56339
- , ["modelValue"])]),
56128
+ , ["modelValue", "step", "min", "max"])]),
56340
56129
  _: 1
56341
56130
  /* STABLE */
56342
56131
 
@@ -56393,13 +56182,13 @@ const __default__ = {
56393
56182
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValue,
56394
56183
  "onUpdate:modelValue": _cache[28] || (_cache[28] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValue = $event),
56395
56184
  "show-tooltip": false,
56396
- step: 1,
56397
- min: 0,
56398
- max: 100,
56185
+ step: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueStep,
56186
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueMin,
56187
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueMax,
56399
56188
  onChange: _cache[29] || (_cache[29] = $event => paramsChanged('latSectionValue'))
56400
56189
  }, null, 8
56401
56190
  /* PROPS */
56402
- , ["modelValue"])]),
56191
+ , ["modelValue", "step", "min", "max"])]),
56403
56192
  _: 1
56404
56193
  /* STABLE */
56405
56194
 
@@ -56409,14 +56198,14 @@ const __default__ = {
56409
56198
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
56410
56199
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValue,
56411
56200
  "onUpdate:modelValue": _cache[30] || (_cache[30] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValue = $event),
56412
- min: 0,
56413
- max: 100,
56414
- step: 1,
56201
+ step: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueStep,
56202
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueMin,
56203
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).latSectionValueMax,
56415
56204
  "controls-position": "right",
56416
56205
  onChange: _cache[31] || (_cache[31] = $event => paramsChanged('latSectionValue'))
56417
56206
  }, null, 8
56418
56207
  /* PROPS */
56419
- , ["modelValue"])]),
56208
+ , ["modelValue", "step", "min", "max"])]),
56420
56209
  _: 1
56421
56210
  /* STABLE */
56422
56211
 
@@ -56475,11 +56264,11 @@ const __default__ = {
56475
56264
  "show-tooltip": false,
56476
56265
  step: 1,
56477
56266
  min: 0,
56478
- max: 100,
56267
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).heightSectionValueMax,
56479
56268
  onChange: _cache[34] || (_cache[34] = $event => paramsChanged('heightSectionValue'))
56480
56269
  }, null, 8
56481
56270
  /* PROPS */
56482
- , ["modelValue"])]),
56271
+ , ["modelValue", "max"])]),
56483
56272
  _: 1
56484
56273
  /* STABLE */
56485
56274
 
@@ -56489,14 +56278,14 @@ const __default__ = {
56489
56278
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
56490
56279
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).heightSectionValue,
56491
56280
  "onUpdate:modelValue": _cache[35] || (_cache[35] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).heightSectionValue = $event),
56492
- min: 0,
56493
- max: 100,
56494
56281
  step: 1,
56282
+ min: 0,
56283
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).heightSectionValueMax,
56495
56284
  "controls-position": "right",
56496
56285
  onChange: _cache[36] || (_cache[36] = $event => paramsChanged('heightSectionValue'))
56497
56286
  }, null, 8
56498
56287
  /* PROPS */
56499
- , ["modelValue"])]),
56288
+ , ["modelValue", "max"])]),
56500
56289
  _: 1
56501
56290
  /* STABLE */
56502
56291
 
@@ -56516,7 +56305,7 @@ const __default__ = {
56516
56305
 
56517
56306
  })], 64
56518
56307
  /* STABLE_FRAGMENT */
56519
- )) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" 提剖切设置 "), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).slicingType === 3 ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, {
56308
+ )) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" 体剖切设置 "), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).slicingType === 3 ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, {
56520
56309
  key: 2
56521
56310
  }, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
56522
56311
  class: "rowclass"