@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.
|
|
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
|
-
|
|
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(
|
|
9385
|
-
curMowPartitionData =
|
|
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.
|
|
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
|
-
|
|
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(
|
|
9387
|
-
curMowPartitionData =
|
|
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;
|
|
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"}
|
|
@@ -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"}
|