@fleet-frontend/mower-maps 0.0.9-beta.11 → 0.0.9-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -5083,6 +5083,12 @@ class BoundaryBorderLayer extends BaseLayer {
5083
5083
  this.mowingBoundarys = mowingBoundarys;
5084
5084
  }
5085
5085
  }
5086
+ /**
5087
+ * 获取当前割草任务的边界
5088
+ */
5089
+ getMowingBoundarys() {
5090
+ return this.mowingBoundarys;
5091
+ }
5086
5092
  /**
5087
5093
  * SVG渲染方法
5088
5094
  */
@@ -6260,7 +6266,7 @@ class BoundaryLabelsManager {
6260
6266
  labelDiv.style.zIndex = BoundaryLabelsManager.Z_INDEX.DEFAULT.toString();
6261
6267
  // 计算进度
6262
6268
  const progress = boundary.finishedArea && boundary.area
6263
- ? `${Math.round((boundary.finishedArea / boundary.area) * 100)}%`
6269
+ ? `${Math.floor((boundary.finishedArea / boundary.area) * 100)}%`
6264
6270
  : '0%';
6265
6271
  // 基础内容(始终显示)
6266
6272
  const baseContent = document.createElement('div');
@@ -6277,13 +6283,15 @@ class BoundaryLabelsManager {
6277
6283
  this.currentExpandedBoundaryId === boundary.id ? 'block' : 'none';
6278
6284
  extendedContent.style.borderTop = '1px solid rgba(255,255,255,0.2)';
6279
6285
  extendedContent.style.paddingTop = '6px';
6280
- console.log('this.unitType->', this.unitType);
6286
+ const boundaryLayer = this.svgView.getLayer(LAYER_DEFAULT_TYPE.BOUNDARY_BORDER);
6287
+ const mowingBoundarys = boundaryLayer.getMowingBoundarys();
6281
6288
  // 面积信息
6282
6289
  const totalArea = convertAreaByUnits(boundary.area || 0, this.unitType);
6283
6290
  const finishedArea = convertAreaByUnits(boundary.finishedArea || 0, this.unitType);
6284
6291
  const coverageText = `Coverage: ${finishedArea.value}/${totalArea.value}`;
6292
+ const isMowing = mowingBoundarys.includes(boundary.id);
6285
6293
  // 日期信息
6286
- const dateText = formatBoundaryDateText(boundary.endTime || 0);
6294
+ const dateText = formatBoundaryDateText(isMowing ? Date.now() / 1000 : boundary.endTime || 0);
6287
6295
  const covertHtml = `<div style="margin-bottom: 3px; font-weight: bold;">${coverageText}</div>`;
6288
6296
  const dateHtml = `<div>${dateText}</div>`;
6289
6297
  extendedContent.innerHTML = boundary.finishedArea > 0 ? `${covertHtml}${dateHtml}` : covertHtml;
@@ -6401,7 +6409,6 @@ class BoundaryLabelsManager {
6401
6409
  // 计算边界中心点的地图坐标
6402
6410
  const mapCenter = this.calculatePolygonCentroid(boundary.points);
6403
6411
  if (!mapCenter) {
6404
- console.warn(`BoundaryLabelsManager: 无法计算边界 ${boundary.name} (ID: ${boundary.id}) 的中心点`);
6405
6412
  return;
6406
6413
  }
6407
6414
  // 直接使用预计算的数据进行坐标转换
@@ -6486,7 +6493,6 @@ class BoundaryLabelsManager {
6486
6493
  area = area / 2;
6487
6494
  // 如果面积为0,回退到简单的平均值计算
6488
6495
  if (Math.abs(area) < 1e-10) {
6489
- console.warn('BoundaryLabelsManager: 多边形面积为0,使用平均值计算重心');
6490
6496
  return this.calculateAverageCenter(validPoints);
6491
6497
  }
6492
6498
  centroidX = centroidX / (6 * area);
@@ -9381,8 +9387,8 @@ const MowerMapRenderer = forwardRef(({ unitType = UnitsType.Imperial, language =
9381
9387
  else if (currentStatus === RobotStatus.WORKING) {
9382
9388
  // 兜底收不到割草地块的实时数据,使用状态来兜底
9383
9389
  overlayRef.current.resetBorderLayerHighlight();
9384
- setMowPartitionData(null);
9385
- curMowPartitionData = null;
9390
+ setMowPartitionData({});
9391
+ curMowPartitionData = {};
9386
9392
  }
9387
9393
  else if (currentStatus === RobotStatus.MOWING &&
9388
9394
  curMowPartitionData &&
package/dist/index.js CHANGED
@@ -5085,6 +5085,12 @@ class BoundaryBorderLayer extends BaseLayer {
5085
5085
  this.mowingBoundarys = mowingBoundarys;
5086
5086
  }
5087
5087
  }
5088
+ /**
5089
+ * 获取当前割草任务的边界
5090
+ */
5091
+ getMowingBoundarys() {
5092
+ return this.mowingBoundarys;
5093
+ }
5088
5094
  /**
5089
5095
  * SVG渲染方法
5090
5096
  */
@@ -6262,7 +6268,7 @@ class BoundaryLabelsManager {
6262
6268
  labelDiv.style.zIndex = BoundaryLabelsManager.Z_INDEX.DEFAULT.toString();
6263
6269
  // 计算进度
6264
6270
  const progress = boundary.finishedArea && boundary.area
6265
- ? `${Math.round((boundary.finishedArea / boundary.area) * 100)}%`
6271
+ ? `${Math.floor((boundary.finishedArea / boundary.area) * 100)}%`
6266
6272
  : '0%';
6267
6273
  // 基础内容(始终显示)
6268
6274
  const baseContent = document.createElement('div');
@@ -6279,13 +6285,15 @@ class BoundaryLabelsManager {
6279
6285
  this.currentExpandedBoundaryId === boundary.id ? 'block' : 'none';
6280
6286
  extendedContent.style.borderTop = '1px solid rgba(255,255,255,0.2)';
6281
6287
  extendedContent.style.paddingTop = '6px';
6282
- console.log('this.unitType->', this.unitType);
6288
+ const boundaryLayer = this.svgView.getLayer(LAYER_DEFAULT_TYPE.BOUNDARY_BORDER);
6289
+ const mowingBoundarys = boundaryLayer.getMowingBoundarys();
6283
6290
  // 面积信息
6284
6291
  const totalArea = convertAreaByUnits(boundary.area || 0, this.unitType);
6285
6292
  const finishedArea = convertAreaByUnits(boundary.finishedArea || 0, this.unitType);
6286
6293
  const coverageText = `Coverage: ${finishedArea.value}/${totalArea.value}`;
6294
+ const isMowing = mowingBoundarys.includes(boundary.id);
6287
6295
  // 日期信息
6288
- const dateText = formatBoundaryDateText(boundary.endTime || 0);
6296
+ const dateText = formatBoundaryDateText(isMowing ? Date.now() / 1000 : boundary.endTime || 0);
6289
6297
  const covertHtml = `<div style="margin-bottom: 3px; font-weight: bold;">${coverageText}</div>`;
6290
6298
  const dateHtml = `<div>${dateText}</div>`;
6291
6299
  extendedContent.innerHTML = boundary.finishedArea > 0 ? `${covertHtml}${dateHtml}` : covertHtml;
@@ -6403,7 +6411,6 @@ class BoundaryLabelsManager {
6403
6411
  // 计算边界中心点的地图坐标
6404
6412
  const mapCenter = this.calculatePolygonCentroid(boundary.points);
6405
6413
  if (!mapCenter) {
6406
- console.warn(`BoundaryLabelsManager: 无法计算边界 ${boundary.name} (ID: ${boundary.id}) 的中心点`);
6407
6414
  return;
6408
6415
  }
6409
6416
  // 直接使用预计算的数据进行坐标转换
@@ -6488,7 +6495,6 @@ class BoundaryLabelsManager {
6488
6495
  area = area / 2;
6489
6496
  // 如果面积为0,回退到简单的平均值计算
6490
6497
  if (Math.abs(area) < 1e-10) {
6491
- console.warn('BoundaryLabelsManager: 多边形面积为0,使用平均值计算重心');
6492
6498
  return this.calculateAverageCenter(validPoints);
6493
6499
  }
6494
6500
  centroidX = centroidX / (6 * area);
@@ -9383,8 +9389,8 @@ const MowerMapRenderer = React.forwardRef(({ unitType = UnitsType.Imperial, lang
9383
9389
  else if (currentStatus === RobotStatus.WORKING) {
9384
9390
  // 兜底收不到割草地块的实时数据,使用状态来兜底
9385
9391
  overlayRef.current.resetBorderLayerHighlight();
9386
- setMowPartitionData(null);
9387
- curMowPartitionData = null;
9392
+ setMowPartitionData({});
9393
+ curMowPartitionData = {};
9388
9394
  }
9389
9395
  else if (currentStatus === RobotStatus.MOWING &&
9390
9396
  curMowPartitionData &&
@@ -1 +1 @@
1
- {"version":3,"file":"BoundaryLabelsManager.d.ts","sourceRoot":"","sources":["../../src/render/BoundaryLabelsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,yBAAyB,CAAuB;IAGxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;IAGF,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAQhI;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IA+FtD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,cAAc;IAOd;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,kCAAkC,CAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAyCnE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;OAEG;IACH,OAAO,CAAC,8CAA8C;IAkBtD;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE;IAY/C;;OAEG;IACH,OAAO;IAcP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,iBAAiB;IAcjB;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO;IAyBnC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM;CAa7B"}
1
+ {"version":3,"file":"BoundaryLabelsManager.d.ts","sourceRoot":"","sources":["../../src/render/BoundaryLabelsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGzD;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,yBAAyB,CAAuB;IAGxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;IAGF,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAQhI;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IAkGtD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,cAAc;IAOd;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,kCAAkC,CAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAsCnE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA8C9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;OAEG;IACH,OAAO,CAAC,8CAA8C;IAkBtD;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE;IAY/C;;OAEG;IACH,OAAO;IAcP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,iBAAiB;IAcjB;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO;IAyBnC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM;CAa7B"}
@@ -12,6 +12,10 @@ export declare class BoundaryBorderLayer extends BaseLayer {
12
12
  * 设置当前割草任务的边界
13
13
  */
14
14
  setMowingBoundarys(mowingBoundarys?: number[]): void;
15
+ /**
16
+ * 获取当前割草任务的边界
17
+ */
18
+ getMowingBoundarys(): number[];
15
19
  /**
16
20
  * SVG渲染方法
17
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BoundaryBorderLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/BoundaryBorderLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAK;IAClB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;;IAU1B;;OAEG;IACH,kBAAkB,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE;IAS7C;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe1D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA4CtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAqDrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"BoundaryBorderLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/BoundaryBorderLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAK;IAClB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;;IAU1B;;OAEG;IACH,kBAAkB,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE;IAS7C;;OAEG;IACH,kBAAkB;IAIlB;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe1D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA4CtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAqDrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,UAAU;CAGnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleet-frontend/mower-maps",
3
- "version": "0.0.9-beta.11",
3
+ "version": "0.0.9-beta.12",
4
4
  "type": "module",
5
5
  "description": "a mower maps in google maps",
6
6
  "main": "dist/index.js",