页面分离修改

This commit is contained in:
2025-09-05 18:39:00 +08:00
parent 29629b9d43
commit 9e439f5229
14 changed files with 1146 additions and 888 deletions

View File

@ -36,13 +36,13 @@ class Submerge extends Tools {
that.Draw.start((a, positions) => {
if (!positions || positions.length < 3) {
let _error = '至少需要三个坐标!'
this.tools.message({
message: _error,
that.tools.message({
text: _error,
type: 'warning',
});
return
}
Submerge.destroy()
that.destroy()
if (!positions || positions.length == 0) {
that.positions = []
that._positions = []
@ -62,6 +62,18 @@ class Submerge extends Tools {
}
fromDegreesArray.push(positions[i].lng, positions[i].lat)
}
that.options.maxWaterLevel = positions[0].alt
for (let i = 0; i < positions.length; i++) {
if (that.options.minWaterLevel < positions[i].alt) {
that.options.maxWaterLevel = positions[i].alt
}
}
// for (let i = 0; i < positions.length; i++) {
// fromDegreesArray.push(positions[i].lng, positions[i].lat, that.options.minWaterLevel)
// }
@ -84,11 +96,16 @@ class Submerge extends Tools {
TWEEN.remove(that.TweenAnimate)
that.TweenAnimate = null
}
let contentElm = that._DialogObject._element.body
let pauseBtn = contentElm.getElementsByClassName('pause')[0];
let startBtn = contentElm.getElementsByClassName('start')[0];
startBtn.style.display = 'flex'
pauseBtn.style.display = 'none'
that.waterLevel = that.options.maxWaterLevel - that.options.minWaterLevel
that.options.waterVolume = Number((that.waterLevel * that.area).toFixed(4))
that.clickCallBack(that.area, that._positions)
// let contentElm = that._DialogObject._element.body
// let pauseBtn = contentElm.getElementsByClassName('pause')[0];
// let startBtn = contentElm.getElementsByClassName('start')[0];
// startBtn.style.display = 'flex'
// pauseBtn.style.display = 'none'
// that.move()
// Submerge.EditBox(that)
})
@ -105,7 +122,7 @@ class Submerge extends Tools {
that._DialogObject = await new Dialog(that.sdk.viewer._container, {
title: '淹没分析', left: '180px', top: '100px',
closeCallBack: () => {
Submerge.destroy()
that.destroy()
that.Dialog.closeCallBack && that.Dialog.closeCallBack()
},
})
@ -316,6 +333,22 @@ class Submerge extends Tools {
})
}
get onEnd() {
return this.clickCallBack
}
set onEnd(val) {
if (val && typeof val !== 'function') {
console.error('val:', val, '不是一个function')
} else {
this.clickCallBack = val
}
}
get waterLevels() {
return this.waterLevel
}
set waterLevels(val) {
this.waterLevel = val
}
get waterVolume() {
return this.options.waterVolume
}
@ -327,6 +360,7 @@ class Submerge extends Tools {
}
set minWaterLevel(val) {
this.options.minWaterLevel = val
this.currentWaterLaver = this.options.minWaterLevel
}
get maxWaterLevel() {
return this.options.maxWaterLevel
@ -340,10 +374,10 @@ class Submerge extends Tools {
set risingSpeed(val) {
this.options.risingSpeed = val
}
get area() {
get areas() {
return this.area
}
set area(val) {
set areas(val) {
this.area = val
}
@ -357,11 +391,11 @@ class Submerge extends Tools {
this.TweenAnimate = new TWEEN.Tween({ waterLevel: this.options.minWaterLevel }).to({ waterLevel: this.options.maxWaterLevel }, totalTime).delay(this.delay).easing(TWEEN.Easing.Linear.None).onUpdate(async (r, a) => {
this.currentWaterLaver = r.waterLevel
}).start()
let contentElm = this._DialogObject._element.body
let pauseBtn = contentElm.getElementsByClassName('pause')[0];
let startBtn = contentElm.getElementsByClassName('start')[0];
startBtn.style.display = 'none'
pauseBtn.style.display = 'flex'
// let contentElm = this._DialogObject._element.body
// let pauseBtn = contentElm.getElementsByClassName('pause')[0];
// let startBtn = contentElm.getElementsByClassName('start')[0];
// startBtn.style.display = 'none'
// pauseBtn.style.display = 'flex'
}
restart() {
@ -420,11 +454,11 @@ class Submerge extends Tools {
})
}
static destroy() {
destroy() {
if (this.TweenAnimate) {
TWEEN.remove(this.TweenAnimate)
}
this.Draw.end()
this.Draw && this.Draw.end()
this.sdk.viewer.entities.remove(this.entity)
this.entity = null
}