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