画布loading
This commit is contained in:
@@ -148,8 +148,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
console.log("config", props.config)
|
console.log("config", props.config)
|
||||||
const loading = ref(false)
|
const loading = ref(true)
|
||||||
const loading_ = ref(false)
|
const loading_ = ref(true)
|
||||||
const loadingTimeout = ref(null)
|
const loadingTimeout = ref(null)
|
||||||
watch(
|
watch(
|
||||||
() => loading.value,
|
() => loading.value,
|
||||||
@@ -1001,7 +1001,7 @@
|
|||||||
await new Promise((resolve) => optimizeCanvasRendering(canvasManager.canvas, resolve))
|
await new Promise((resolve) => optimizeCanvasRendering(canvasManager.canvas, resolve))
|
||||||
await canvasManager?.createOtherLayers?.(otherData)
|
await canvasManager?.createOtherLayers?.(otherData)
|
||||||
layerManager.activeLayerId.value = ""
|
layerManager.activeLayerId.value = ""
|
||||||
layerManager?.sortLayers()
|
await layerManager?.sortLayers()
|
||||||
await layerManager?.updateLayersObjectsInteractivity?.(true)
|
await layerManager?.updateLayersObjectsInteractivity?.(true)
|
||||||
canvasManager?.canvas?.renderAll()
|
canvasManager?.canvas?.renderAll()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|||||||
@@ -1580,7 +1580,7 @@ export class LayerManager {
|
|||||||
/**
|
/**
|
||||||
* 排序图层,确保图层顺序: 普通图层 > 固定图层 > 背景图层
|
* 排序图层,确保图层顺序: 普通图层 > 固定图层 > 背景图层
|
||||||
*/
|
*/
|
||||||
sortLayers() {
|
async sortLayers() {
|
||||||
// 对图层进行排序:背景图层在最底层(数组最后),固定图层在中间
|
// 对图层进行排序:背景图层在最底层(数组最后),固定图层在中间
|
||||||
this.layers.value.sort((a, b) => {
|
this.layers.value.sort((a, b) => {
|
||||||
// 如果a是背景图层,它应该排在后面(最底层)
|
// 如果a是背景图层,它应该排在后面(最底层)
|
||||||
@@ -1604,17 +1604,17 @@ export class LayerManager {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 更新画布对象顺序
|
// 更新画布对象顺序
|
||||||
this._rearrangeObjects();
|
await this._rearrangeObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新排列画布上的对象以匹配图层顺序
|
* 重新排列画布上的对象以匹配图层顺序
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_rearrangeObjects() {
|
async _rearrangeObjects() {
|
||||||
if (this.layerSort) {
|
if (this.layerSort) {
|
||||||
// 使用LayerSort的高级排序
|
// 使用LayerSort的高级排序
|
||||||
this.layerSort.rearrangeObjects();
|
await this.layerSort.rearrangeObjects();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ export class LayerSort {
|
|||||||
if (canvasObjects.length === 0) return;
|
if (canvasObjects.length === 0) return;
|
||||||
|
|
||||||
// 使用画布渲染优化
|
// 使用画布渲染优化
|
||||||
await optimizeCanvasRendering(this.canvas, () => {
|
await new Promise((resolve) => {
|
||||||
|
optimizeCanvasRendering(this.canvas, () => {
|
||||||
// 计算每个对象应该在的 z-index 位置
|
// 计算每个对象应该在的 z-index 位置
|
||||||
const objectZIndexMap = this.calculateObjectZIndexes();
|
const objectZIndexMap = this.calculateObjectZIndexes();
|
||||||
|
|
||||||
@@ -51,6 +52,8 @@ export class LayerSort {
|
|||||||
this.canvas.moveTo(item.object, index);
|
this.canvas.moveTo(item.object, index);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,9 +52,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mark_loading" v-show="isShowMark">
|
<!-- <div class="mark_loading" v-show="isShowMark">
|
||||||
<a-spin size="large" />
|
<a-spin size="large" />
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user