From 552c086d3a7a10f734ab0045b5b0586f9e63c9d2 Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Fri, 18 Jul 2025 14:23:34 +0800
Subject: [PATCH 01/53] =?UTF-8?q?=E5=88=A4=E6=96=ADviewer=E6=98=AF?=
=?UTF-8?q?=E5=90=A6=E5=AD=98=E5=9C=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/BillboardObject/index.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/Obj/Base/BillboardObject/index.js b/src/Obj/Base/BillboardObject/index.js
index 053a51c..968d751 100644
--- a/src/Obj/Base/BillboardObject/index.js
+++ b/src/Obj/Base/BillboardObject/index.js
@@ -2344,6 +2344,9 @@ class BillboardObject extends Base {
}
async updateHeight() {
+ if(!this.sdk || !this.sdk.viewer || !this.sdk.viewer.scene) {
+ return
+ }
let height
let height2
let point1 = new Cesium.Cartesian3.fromDegrees(
From f2a198ddaff8c2ba9c9064eba037e0ce5df13c0b Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Fri, 18 Jul 2025 16:49:42 +0800
Subject: [PATCH 02/53] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=8C=E4=B8=89?=
=?UTF-8?q?=E7=BB=B4=E5=BF=AB=E9=80=9F=E5=88=87=E6=8D=A2=E8=B4=B4=E5=9C=B0?=
=?UTF-8?q?svg=E6=98=BE=E9=9A=90=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/GroundSvg/index.js | 21 +++++++++---
src/Obj/Base/LabelObject/index.js | 5 +++
src/Obj/Base/PolylineObject/index.js | 50 ++++++++++++++++++++++++++++
src/Obj/Element/yj-color-picker.js | 7 ++++
static/custom/css/index.css | 2 +-
5 files changed, 79 insertions(+), 6 deletions(-)
diff --git a/src/Obj/Base/GroundSvg/index.js b/src/Obj/Base/GroundSvg/index.js
index 2a0471c..d738ae7 100644
--- a/src/Obj/Base/GroundSvg/index.js
+++ b/src/Obj/Base/GroundSvg/index.js
@@ -108,12 +108,18 @@ class GroundSvg extends Base {
this._isdrag = false
this._EventBinding = new EventBinding()
+ if(this.sdk.entityMap.get(this.options.id)) {
+ return
+ }
this.sdk.addIncetance(this.options.id, this)
this.picking = true
+
if (this.options.show) {
setSplitDirection(0, this.options.id)
}
+
+ this._entityArray = []
this.init()
}
@@ -157,8 +163,6 @@ class GroundSvg extends Base {
if (this.options.text && this.options.text.show && this.text) {
this.text.show = v
}
- syncData(this.sdk, this.options.id)
- syncSplitData(this.sdk, this.options.id)
} else {
console.error("参数必须为boolean")
}
@@ -820,8 +824,13 @@ class GroundSvg extends Base {
}
for (let i = 0; i < this.hierarchys.length; i++) {
for (let m = 0; m < this.hierarchys[i].length; m++) {
+ let id = this.options.id + `-${i}_${m}}`
+ let oldEntity = this.sdk.viewer.entities.getById(id)
+ if(oldEntity) {
+ this.sdk.viewer.entities.remove(oldEntity)
+ }
let entity = this.sdk.viewer.entities.add({
- id: this.options.id + `-${i}_${m}`,
+ id: this.options.id + `-${i}_${m}}`,
show: this.options.show,
polygon: {
hierarchy: new Cesium.CallbackProperty(() => {
@@ -854,6 +863,7 @@ class GroundSvg extends Base {
color: this.geojson.features[i].properties.color
}
}
+ this._entityArray.push(entity)
this.entity.add(entity)
}
}
@@ -1991,6 +2001,8 @@ class GroundSvg extends Base {
}
async remove() {
+ this._worker.onmessage = (event) => {}
+ await this.sdk.removeIncetance(this.options.id)
if (!this.entity) {
return
}
@@ -2000,12 +2012,11 @@ class GroundSvg extends Base {
for (let i = this.entity.values.length; i >= 0; i--) {
this.sdk.viewer.entities.remove(this.entity.values[i])
}
- this.entity = null
if (this._DialogObject && !this._DialogObject.isDestroy) {
this._DialogObject.close()
this._DialogObject = null
}
- await this.sdk.removeIncetance(this.options.id)
+
await syncData(this.sdk, this.options.id)
}
diff --git a/src/Obj/Base/LabelObject/index.js b/src/Obj/Base/LabelObject/index.js
index 25adf1d..dfd9dc1 100644
--- a/src/Obj/Base/LabelObject/index.js
+++ b/src/Obj/Base/LabelObject/index.js
@@ -65,6 +65,11 @@ class LabelObject extends Base {
}
this.originalOptions = copyObj(this.options)
+ let id = this.options.id + '-label'
+ let oldEntity = this.sdk.viewer.entities.getById(id)
+ if(oldEntity) {
+ this.sdk.viewer.entities.remove(oldEntity)
+ }
this.entity = this.sdk.viewer.entities.add({
show: this.options.show,
id: this.options.id + '-label',
diff --git a/src/Obj/Base/PolylineObject/index.js b/src/Obj/Base/PolylineObject/index.js
index 96c6f64..bdc778e 100644
--- a/src/Obj/Base/PolylineObject/index.js
+++ b/src/Obj/Base/PolylineObject/index.js
@@ -13,6 +13,7 @@ import MouseTip from '../../../MouseTip'
import Controller from '../../../Controller/index'
import { syncData } from '../../../Global/MultiViewportMode'
import { legp } from '../../Element/datalist'
+import { getFontList, getFontFamilyName } from '../../Element/fontSelect'
import { setSplitDirection, syncSplitData, setActiveId } from '../../../Global/SplitScreen'
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../Global/global'
@@ -82,6 +83,7 @@ class PolylineObject extends Base {
options.label.fontSize || options.label.fontSize === 0
? options.label.fontSize
: 20,
+ fontFamily: options.label.fontFamily ? options.label.fontFamily : 0,
color: options.label.color || '#ffffff',
lineWidth:
options.label.lineWidth || options.label.lineWidth === 0
@@ -693,6 +695,21 @@ class PolylineObject extends Base {
})
}
+ get labelFontFamily() {
+ return this.options.label.fontFamily
+ }
+
+ set labelFontFamily(v) {
+ this.options.label.fontFamily = v || 0
+ this.label && (this.label.fontFamily = this.options.label.fontFamily)
+
+ let name = getFontFamilyName(this.labelFontFamily) || ''
+ this._elms.labelFontFamily &&
+ this._elms.labelFontFamily.forEach(item => {
+ item.value = name
+ })
+ }
+
get labelColor() {
return this.options.label.color
}
@@ -1289,6 +1306,7 @@ class PolylineObject extends Base {
],
text: that.options.name,
fontSize: that.options.label.fontSize,
+ fontFamily: that.options.label.fontFamily,
color: that.options.label.color,
pixelOffset: that.options.label.pixelOffset,
backgroundColor: that.options.label.backgroundColor,
@@ -2147,6 +2165,37 @@ class PolylineObject extends Base {
this._elms.altInput.push(altInput)
tBodyElm.appendChild(tr)
}
+
+
+ let fontData = getFontList()
+ let fontObject = legp(
+ this._DialogObject._element.content.getElementsByClassName(
+ 'font-select-box'
+ )[0],
+ '.font-select'
+ )
+ if (fontObject) {
+ fontObject.legp_search(fontData)
+ let fontDataLegpElm = this._DialogObject._element.content
+ .getElementsByClassName('font-select')[0]
+ .getElementsByTagName('input')[0]
+ fontDataLegpElm.value = fontData[this.labelFontFamily].value
+ for (let i = 0; i < fontData.length; i++) {
+ if (fontData[i].value == fontDataLegpElm.value) {
+ fontObject.legp_searchActive(fontData[i].value)
+ break
+ }
+ }
+ fontDataLegpElm.addEventListener('input', () => {
+ for (let i = 0; i < fontData.length; i++) {
+ if (fontData[i].value === fontDataLegpElm.value) {
+ this.labelFontFamily = fontData[i].key
+ break
+ }
+ }
+ })
+ this._elms.labelFontFamily = [fontDataLegpElm]
+ }
}, 0)
} else {
if (this._DialogObject && this._DialogObject.close) {
@@ -2348,6 +2397,7 @@ class PolylineObject extends Base {
this.labelShow = this.originalOptions.label.show
this.labelColor = this.originalOptions.label.color
this.labelFontSize = this.originalOptions.label.fontSize
+ this.labelFontFamily = this.originalOptions.label.fontFamily
this.labelLineWidth = this.originalOptions.label.lineWidth
this.labelPixelOffset = this.originalOptions.label.pixelOffset
this.labelLineColor = this.originalOptions.label.lineColor
diff --git a/src/Obj/Element/yj-color-picker.js b/src/Obj/Element/yj-color-picker.js
index 0f95080..0526de9 100644
--- a/src/Obj/Element/yj-color-picker.js
+++ b/src/Obj/Element/yj-color-picker.js
@@ -86,6 +86,13 @@ class YJColorPicker {
let pickPen = document.createElement('div')
pickPen.className = 'icon-pen-box'
pickPen.innerHTML = ''
+
+ /** 为完成、暂时隐藏 *///////
+ pickPen.style.opacity = '0'
+ pickPen.style.cursor = 'unset'
+
+
+
let pickerInput = _this.colorPicker.pickerInput
pickerInput.parentNode.insertBefore(pickPen, pickerInput)
pickerInput.style.width = '188px'
diff --git a/static/custom/css/index.css b/static/custom/css/index.css
index fc4b55b..c96547d 100644
--- a/static/custom/css/index.css
+++ b/static/custom/css/index.css
@@ -1058,7 +1058,6 @@
.YJ-custom-base-dialog .ew-color-picker .icon-pen-box {
display: inline-block;
/* cursor: pointer; */
- cursor: no-drop;
width: 24px;
height: 24px;
text-align: center;
@@ -1132,6 +1131,7 @@
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.subtract {
border-color: rgba(var(--color-sdk-base-rgb), 0.2);
background: unset;
+ line-height: 22px;
}
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.add:hover,
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.subtract:hover {
From a79c09b45d8a6fb0e60db85ab3c86045e713d92e Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Wed, 23 Jul 2025 16:42:01 +0800
Subject: [PATCH 03/53] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A2=9C=E8=89=B2?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E6=8F=92=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Element/yj-color-picker.js | 60 ++++++++++++++++++++++++------
static/3rdparty/ewPlugins.min.js | 27 ++++++++++++--
static/custom/css/index.css | 4 +-
3 files changed, 75 insertions(+), 16 deletions(-)
diff --git a/src/Obj/Element/yj-color-picker.js b/src/Obj/Element/yj-color-picker.js
index 0526de9..3495428 100644
--- a/src/Obj/Element/yj-color-picker.js
+++ b/src/Obj/Element/yj-color-picker.js
@@ -13,13 +13,16 @@ class YJColorPicker {
openPickerAni: 'opacity',
defaultColor: options.defaultColor,
startMainCallback: (t) => {
- customizeStyle()
+ _this.colorPicker && (_this.colorPicker.picker.style.opacity = 0)
+ setTimeout(() => {
+ customizeStyle()
+ }, 0);
}
}
this.el = options.el
if (options.sure) {
config.sure = (color) => {
- this.colorPicker.config.defaultColor = this.colorPicker.pickerInput.value
+ // this.colorPicker.config.defaultColor = this.colorPicker.pickerInput.value
let c = Cesium.Color.fromCssColorString(color)
if (pickAlphaInput) {
c = c.withAlpha(pickAlphaInput.value / 100)
@@ -53,7 +56,7 @@ class YJColorPicker {
}
}
let CesiumColor
- if(config.defaultColor) {
+ if (config.defaultColor) {
CesiumColor = Cesium.Color.fromCssColorString(config.defaultColor)
}
// if (options.predefineColor) {
@@ -61,19 +64,40 @@ class YJColorPicker {
// }
config.predefineColor = ['rgba(255, 255, 255, 1)', 'rgba(255, 0, 0, 1)', 'rgba(208, 132, 209, 1)', 'rgba(100, 182, 217, 1)', 'rgba(42, 130, 228, 1)', 'rgba(214, 36, 36, 1)', 'rgba(252, 222, 111, 1)', 'rgba(67, 207, 124, 1)', 'rgba(176, 243, 143, 1)', 'rgba(121, 72, 234, 1)', 'rgba(255, 195, 0, 1)', 'rgba(0, 186, 173, 1)', 'rgba(165, 214, 63, 1)', 'rgba(0, 0, 0, 1)', 'rgba(46, 47, 51, 1)', 'rgba(172, 51, 193, 1)', 'rgba(130, 21, 21, 1)', 'rgba(255, 87, 51, 1)', 'rgba(255, 140, 0, 1)', 'rgba(125, 191, 255, 1)']
this.colorPicker = new ewPlugins('colorpicker', config)
- // window.colorPicker = this.colorPicker
+ window.colorPicker = this.colorPicker
customizeStyle()
function customizeStyle() {
- if (!_this.colorPicker) {
+ if (!_this.colorPicker || !_this.colorPicker.picker) {
return
}
let isSubtract = false
let box = _this.colorPicker.box
let picker = _this.colorPicker.picker
+ let x = box.getBoundingClientRect().x
+ let y = box.getBoundingClientRect().y
+ let height = 0
+
+ // if (picker.style.display === 'none') {
+ // picker.style.display = 'block'
+ // height = picker.offsetHeight
+ // console.log('picker.style.display.opacity', picker.style.display.opacity)
+ // picker.style.display = 'none'
+ // }
+ // console.log('===========================================')
+ // console.log((y + box.offsetHeight + 4), height, window.innerHeight)
+ // if ((y + box.offsetHeight + 4) + height > window.innerHeight) {
+ // console.log(y, height)
+ // picker.style.top = y - height + 'px'
+ // }
+ // else {
+ // picker.style.top = (y + box.offsetHeight + 4) + 'px'
+ // }
+
+ picker.style.left = x + 'px'
picker.style.minWidth = '325px'
- let pickerContent = picker.getElementsByClassName('ew-color-picker-content')[0]
+ // let pickerContent = picker.getElementsByClassName('ew-color-picker-content')[0]
let pickAlphaSliderBar = picker.getElementsByClassName('ew-alpha-slider-bar')[0]
if (pickAlphaSliderBar) {
pickAlphaSliderBar.parentNode.style.width = '16px'
@@ -101,7 +125,7 @@ class YJColorPicker {
let pickAlpha = document.createElement('div')
pickAlpha.className = 'input-number input-number-unit-1 color-alpha'
pickAlpha.innerHTML = `
-
+
%
`
pickerInput.parentNode.insertBefore(pickAlpha, pickerInput.nextSibling)
@@ -121,14 +145,14 @@ class YJColorPicker {
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
value = Number(e.target.dataset.min)
}
- pickAlphaInput.value = Number(value.toFixed(2))
+ pickAlphaInput.value = Number(value.toFixed(0))
}
})
if (_this.pickAlphaInputValue || _this.pickAlphaInputValue === 0 || _this.pickAlphaInputValue === '0') {
- pickAlphaInput.value = Number(Number(_this.pickAlphaInputValue).toFixed(2))
+ pickAlphaInput.value = Number(Number(_this.pickAlphaInputValue).toFixed(0))
}
else {
- pickAlphaInput.value = CesiumColor ? Number((CesiumColor.alpha * 100).toFixed(2)) : 100
+ pickAlphaInput.value = CesiumColor ? Number((CesiumColor.alpha * 100).toFixed(0)) : 100
}
_this.pickAlphaInputValue = pickAlphaInput.value
box.style.background = Cesium.Color.fromCssColorString(_this.colorPicker.config.defaultColor || '#ffffff').withAlpha(pickAlphaInput.value / 100).toCssColorString()
@@ -270,12 +294,26 @@ class YJColorPicker {
}
})
}
+
+ height = picker.offsetHeight
+ if (picker.style.display === 'none') {
+ picker.style.display = 'block'
+ height = picker.offsetHeight
+ picker.style.display = 'none'
+ }
+ if ((y + box.offsetHeight + 4) + height > window.innerHeight) {
+ picker.style.top = y - height + 'px'
+ }
+ else {
+ picker.style.top = (y + box.offsetHeight + 4) + 'px'
+ }
+ _this.colorPicker.pancelTop = parseFloat(picker.style.top) - 2
}
function clickDefineColor(color) {
if (pickAlphaInput) {
let c = Cesium.Color.fromCssColorString(color)
- pickAlphaInput.value = Number((c.alpha * 100).toFixed(2))
+ pickAlphaInput.value = Number((c.alpha * 100).toFixed(0))
}
}
diff --git a/static/3rdparty/ewPlugins.min.js b/static/3rdparty/ewPlugins.min.js
index 735f08b..8f9a006 100644
--- a/static/3rdparty/ewPlugins.min.js
+++ b/static/3rdparty/ewPlugins.min.js
@@ -809,6 +809,7 @@
}
this.close = () => {
this.pickerFlag = !this.pickerFlag,
+ this.picker.style.opacity = 0
this.render(this.box.parentNode, this.config),
d(this),
g(this, this.panelWidth, this.panelHeight)
@@ -965,6 +966,7 @@
}
,
f.prototype.startMain = function(e, t) {
+ // console.log(e,t)
var r = this;
this.box = l(e, "ew-color-picker-box"),
this.box.setAttribute("color-box-id", this.uid),
@@ -1002,8 +1004,21 @@
c += s.offsetParent.offsetTop,
f += s.offsetParent.offsetLeft,
s = s.offsetParent;
- this.pancelLeft = f,
- this.pancelTop = c + e.offsetHeight,
+ this.pancelLeft = f;
+ let defineColorContainer = this.picker.getElementsByClassName('ew-pre-define-color-container')[0]
+ let customColorHeight = 0
+ if(defineColorContainer) {
+ let colorList = localStorage.getItem('custom-color') || '{}'
+ colorList = JSON.parse(colorList)
+ customColorHeight = (Math.floor((Object.keys(colorList).length+2) / 11)+1) * 30
+ }
+ this.picker.style.display = 'block'
+ this.pancelTop = e.getBoundingClientRect().y + (e.offsetHeight + customColorHeight) + 2
+ if((this.picker.offsetHeight + customColorHeight) + this.pancelTop > window.innerHeight) {
+ this.pancelTop = e.getBoundingClientRect().y - (this.picker.offsetHeight + customColorHeight)
+ this.picker.style.top = this.pancelTop + 2 + 'px'
+ }
+ this.picker.style.display = 'none'
this.preDefineItem = l(e, "ew-pre-define-color", !0),
this.preDefineItem.length && (0,
n.ewObjToArray)(this.preDefineItem).map(function(e) {
@@ -1054,7 +1069,7 @@
}, !1),
this.pickerClear.addEventListener("click", function() {
!function(e, t) {
- t.config.defaultColor = "rgba(255,255,255,1)",
+ t.config.defaultColor = "",
t.pickerFlag = !t.pickerFlag,
t.render(e, t.config),
d(t),
@@ -1070,6 +1085,8 @@
o.colorHsbaToRgba)(e.hsba) : (0,
o.colorRgbaToHex)((0,
o.colorHsbaToRgba)(e.hsba));
+ e.config.defaultColor = e.pickerInput.value
+ e.render(e.box.parentNode, e.config),
e.config.sure(t, e)
}(r)
}),
@@ -1097,6 +1114,7 @@
}(r, e)
}, !1),
this.bindEvent(this.pickerCursor, function(e, t, r, n) {
+ // console.log(e)
r=r-7
n=n-7
u(e, Math.max(0, Math.min(r - e.pancelLeft, i)), Math.max(0, Math.min(n - e.pancelTop, a)), i, a)
@@ -1119,7 +1137,8 @@
a = i,
o.moveX = n.eventType[0].indexOf("touch") > -1 ? a.changedTouches[0].clientX : a.clientX,
o.moveY = n.eventType[0].indexOf("touch") > -1 ? a.changedTouches[0].clientY : a.clientY,
- r ? t(o, o.moveX, o.moveY) : t(o, e, o.moveX, o.moveY)
+ r ? t(o, o.moveX, o.moveY) : t(o, e, o.moveX, o.moveY);
+ // console.log('222222', i, t,e, o.moveX, o.moveY)
};
document.addEventListener(n.eventType[1], a, {
capture: !1,
diff --git a/static/custom/css/index.css b/static/custom/css/index.css
index c96547d..87032c8 100644
--- a/static/custom/css/index.css
+++ b/static/custom/css/index.css
@@ -68,7 +68,6 @@
z-index: 999999;
background: linear-gradient(0deg, var(--color-sdk-bg-gradual)), rgba(0, 0, 0, 0.6);
border: 1.5px solid;
- backdrop-filter: blur(2px);
border-image: linear-gradient(to bottom, var(--color-sdk-gradual)) 1;
text-align: left;
font-family: 'sy-boldface';
@@ -1033,6 +1032,7 @@
background: linear-gradient(0deg, var(--color-sdk-bg-gradual)), rgba(0, 0, 0, 0.6);
border-image: linear-gradient(to bottom, var(--color-sdk-gradual)) 1;
padding: 5px;
+ position: fixed !important;
}
.YJ-custom-base-dialog .ew-color-picker>.ew-color-picker-content {
@@ -1160,6 +1160,7 @@
position: absolute;
top: 0;
left: 0;
+ line-height: 20px;
}
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color:hover {
@@ -1180,6 +1181,7 @@
.YJ-custom-base-dialog .ew-color-picker-box {
border-width: 4px;
border-color: #ffffff;
+ display: block;
}
.YJ-custom-base-dialog .ew-color-picker-box>.ew-color-picker-no,
From 8ca3576c3e1e0fdc72007ed963dc56c74074dc3d Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Wed, 23 Jul 2025 16:42:47 +0800
Subject: [PATCH 04/53] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=9C=B0=E5=BD=A2?=
=?UTF-8?q?=E6=97=B6=E6=B8=85=E9=99=A4=E7=BB=98=E5=88=B6=E7=9A=84=E5=B1=80?=
=?UTF-8?q?=E9=83=A8=E7=AD=89=E9=AB=98=E7=BA=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/BaseDialog/index.js | 9 +++
src/Obj/Analysis/Contour/index.js | 5 ++
src/Obj/Base/BaseSource/BaseTerrain/index.js | 9 ++-
src/Obj/Base/TextObject/StandText/index.js | 60 --------------------
src/Obj/Base/TrajectoryMotion/index.js | 2 +-
5 files changed, 22 insertions(+), 63 deletions(-)
diff --git a/src/BaseDialog/index.js b/src/BaseDialog/index.js
index df9aab3..de36a50 100644
--- a/src/BaseDialog/index.js
+++ b/src/BaseDialog/index.js
@@ -48,6 +48,15 @@ class BaseDialog {
`
this._element.body.appendChild(this._element.foot)
+ let curtain = await document.createElement('div')
+ curtain.style.position = 'absolute'
+ curtain.style.top = '0'
+ curtain.style.left = '0'
+ curtain.style.width = '100%'
+ curtain.style.height = '100%'
+ curtain.style.backdropFilter = 'blur(2px)'
+ curtain.style.zIndex = '-999999'
+ this._element.body.appendChild(curtain)
// 关闭
let closeBtnsBox = this._element.body.getElementsByClassName('close-box')[0];
diff --git a/src/Obj/Analysis/Contour/index.js b/src/Obj/Analysis/Contour/index.js
index 6a246f9..56f8dff 100644
--- a/src/Obj/Analysis/Contour/index.js
+++ b/src/Obj/Analysis/Contour/index.js
@@ -47,6 +47,11 @@ class ContourAnalysis {
YJ.Analysis.AnalysesResults.push(this)
this.createNewLine();
}
+
+ get type() {
+ return 'ContourAnalysis'
+ }
+
createNewLine() {
ContourAnalysis.interpolatePoint(this);
}
diff --git a/src/Obj/Base/BaseSource/BaseTerrain/index.js b/src/Obj/Base/BaseSource/BaseTerrain/index.js
index 0d2336c..9f9a087 100644
--- a/src/Obj/Base/BaseSource/BaseTerrain/index.js
+++ b/src/Obj/Base/BaseSource/BaseTerrain/index.js
@@ -8,7 +8,7 @@
import Dialog from '../../../Element/Dialog';
import { getHost } from "../../../../on";
import BaseSource from "../index";
-import { setActiveViewer, closeRotateAround, closeViewFollow} from '../../../../Global/global'
+import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../../Global/global'
import { setSplitDirection, syncSplitData } from '../../../../Global/SplitScreen'
class BaseTerrain extends BaseSource {
@@ -78,6 +78,11 @@ class BaseTerrain extends BaseSource {
close() {
this.sdk.viewer.scene.terrainProvider =
new Cesium.EllipsoidTerrainProvider({})
+ for (let i = 0; i < YJ.Analysis.AnalysesResults.length; i++) {
+ if (YJ.Analysis.AnalysesResults[i].type === 'ContourAnalysis') {
+ YJ.Analysis.AnalysesResults[i].destroy()
+ }
+ }
syncSplitData(this.sdk, this.options.id)
clearTimeout(this.#updateModelTimeout)
@@ -156,7 +161,7 @@ class BaseTerrain extends BaseSource {
}
setActiveViewer(0)
closeRotateAround(this.sdk)
- closeViewFollow(this.sdk)
+ closeViewFollow(this.sdk)
if (this.options.customView && this.options.customView.relativePosition && this.options.customView.orientation) {
let orientation = {
diff --git a/src/Obj/Base/TextObject/StandText/index.js b/src/Obj/Base/TextObject/StandText/index.js
index ed1ad98..6e2a173 100644
--- a/src/Obj/Base/TextObject/StandText/index.js
+++ b/src/Obj/Base/TextObject/StandText/index.js
@@ -417,71 +417,11 @@ class StandText extends Base {
this.color = 'rgba(255,255,255,1)'
},//点击清空按钮事件回调
})
- let labelColorPicker = new YJColorPicker({
- el: contentElm.getElementsByClassName("labelColor")[0],
- size: 'mini',//颜色box类型
- alpha: true,//是否开启透明度
- defaultColor: this.labelColor,
- disabled: false,//是否禁止打开颜色选择器
- openPickerAni: 'opacity',//打开颜色选择器动画
- sure: (color) => {
- this.labelColor = color
- },//点击确认按钮事件回调
- clear: () => {
- this.labelColor = 'rgba(255,255,255,1)'
- },//点击清空按钮事件回调
- })
- let lineColorPicker = new YJColorPicker({
- el: contentElm.getElementsByClassName("labelLineColor")[0],
- size: 'mini',//颜色box类型
- alpha: true,//是否开启透明度
- defaultColor: this.labelLineColor,
- disabled: false,//是否禁止打开颜色选择器
- openPickerAni: 'opacity',//打开颜色选择器动画
- sure: (color) => {
- this.labelLineColor = color
- },//点击确认按钮事件回调
- clear: () => {
- this.labelLineColor = 'rgba(255,255,255,1)'
- },//点击清空按钮事件回调
- })
- let labelBackgroundColorStartPicker = new YJColorPicker({
- el: contentElm.getElementsByClassName("labelBackgroundColorStart")[0],
- size: 'mini',
- alpha: true,
- defaultColor: this.labelBackgroundColorStart,
- disabled: false,
- openPickerAni: 'opacity',
- sure: (color) => {
- this.labelBackgroundColorStart = color
- },
- clear: () => {
- this.labelBackgroundColorStart = 'rgba(255,255,255,1)'
- },
- })
- let labelBackgroundColorEndPicker = new YJColorPicker({
- el: contentElm.getElementsByClassName("labelBackgroundColorEnd")[0],
- size: 'mini',
- alpha: true,
- defaultColor: this.labelBackgroundColorEnd,
- disabled: false,
- openPickerAni: 'opacity',
- sure: (color) => {
- this.labelBackgroundColorEnd = color
- },
- clear: () => {
- this.labelBackgroundColorEnd = 'rgba(255,255,255,1)'
- },
- })
let all_elm = contentElm.getElementsByTagName("*")
this._EventBinding.on(this, all_elm)
this._elms = this._EventBinding.element
this._elms.color = [colorPicker]
- this._elms.labelColor = [labelColorPicker]
- this._elms.labelLineColor = [lineColorPicker]
- this._elms.labelBackgroundColorStart = [labelBackgroundColorStartPicker]
- this._elms.labelBackgroundColorEnd = [labelBackgroundColorEndPicker]
} else {
if (this._DialogObject && this._DialogObject.remove) {
this._DialogObject.remove()
diff --git a/src/Obj/Base/TrajectoryMotion/index.js b/src/Obj/Base/TrajectoryMotion/index.js
index 888996a..0783b99 100644
--- a/src/Obj/Base/TrajectoryMotion/index.js
+++ b/src/Obj/Base/TrajectoryMotion/index.js
@@ -99,7 +99,7 @@ class TrajectoryMotion extends Base {
color: options.label.color || '#ffffff',
lineWidth: (options.label.lineWidth || options.label.lineWidth === 0) ? options.label.lineWidth : 4,
pixelOffset: (options.label.pixelOffset || options.label.pixelOffset === 0) ? options.label.pixelOffset : 20,
- backgroundColor: options.label.backgroundColor || ['#42c6ef', '#42c6ef'],
+ backgroundColor: options.label.backgroundColor || ['#00ffff80', '#00ffff80'],
lineColor: options.label.lineColor || '#00ffff80',
scaleByDistance: options.label.scaleByDistance || false,
near: (options.label.near || options.label.near === 0) ? options.label.near : 2000,
From 829d1a59f7442fea000ad9e0280394fb7c34252c Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Fri, 25 Jul 2025 09:18:28 +0800
Subject: [PATCH 05/53] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=9C=E8=89=B2?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E5=99=A8=E6=A0=B7=E5=BC=8F=EF=BC=8C=E6=98=BE?=
=?UTF-8?q?=E7=A4=BArgba=E6=A0=BC=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Element/svg.js | 2 +-
src/Obj/Element/yj-color-picker.js | 159 +++++++++++++++++++++++------
static/3rdparty/ewPlugins.min.js | 5 +
static/custom/css/index.css | 28 ++++-
static/custom/img/icom-confirm.svg | 4 +
5 files changed, 163 insertions(+), 35 deletions(-)
create mode 100644 static/custom/img/icom-confirm.svg
diff --git a/src/Obj/Element/svg.js b/src/Obj/Element/svg.js
index 58bbc1e..3580739 100644
--- a/src/Obj/Element/svg.js
+++ b/src/Obj/Element/svg.js
@@ -1,4 +1,4 @@
-let list = ['icon-py', 'icon-edit', 'icon-add', 'icon-add2', 'icon-minus', 'icon-play', 'icon-pause', 'icon-updateheight', 'icon-draw', 'icon-positions', 'icon-reset', 'icon-xj', 'icon-yj', 'icon-zj', 'icon-close', 'icon-query', 'icon-route', 'icon-copy', 'icon-load', 'icon-rubric', 'icon-pen', 'icon-cross']
+let list = ['icon-py', 'icon-edit', 'icon-add', 'icon-add2', 'icon-minus', 'icon-play', 'icon-pause', 'icon-updateheight', 'icon-draw', 'icon-positions', 'icon-reset', 'icon-xj', 'icon-yj', 'icon-zj', 'icon-close', 'icon-query', 'icon-route', 'icon-copy', 'icon-load', 'icon-rubric', 'icon-pen', 'icon-cross', 'icom-confirm']
function setSvg() {
let svgElm = document.createElement('svg');
svgElm.xmlns = 'http://www.w3.org/2000/svg'
diff --git a/src/Obj/Element/yj-color-picker.js b/src/Obj/Element/yj-color-picker.js
index 3495428..fb45f6d 100644
--- a/src/Obj/Element/yj-color-picker.js
+++ b/src/Obj/Element/yj-color-picker.js
@@ -1,7 +1,11 @@
class YJColorPicker {
constructor(options = {}) {
let _this = this
- let pickAlphaInput
+ let RInput
+ let GInput
+ let BInput
+ let AInput
+
let config = {
el: options.el,
size: "mini",
@@ -12,6 +16,7 @@ class YJColorPicker {
hasClear: true,
openPickerAni: 'opacity',
defaultColor: options.defaultColor,
+ pickerInputChange: pickerInputChange,
startMainCallback: (t) => {
_this.colorPicker && (_this.colorPicker.picker.style.opacity = 0)
setTimeout(() => {
@@ -24,9 +29,9 @@ class YJColorPicker {
config.sure = (color) => {
// this.colorPicker.config.defaultColor = this.colorPicker.pickerInput.value
let c = Cesium.Color.fromCssColorString(color)
- if (pickAlphaInput) {
- c = c.withAlpha(pickAlphaInput.value / 100)
- this.pickAlphaInputValue = pickAlphaInput.value
+ if (AInput) {
+ c = c.withAlpha(AInput.value)
+ this.pickAlphaInputValue = AInput.value
}
color = c.toCssHexString()
if (typeof options.sure == 'function') {
@@ -37,8 +42,8 @@ class YJColorPicker {
}
if (options.clear) {
config.clear = () => {
- if (pickAlphaInput) {
- pickAlphaInput.value = this.pickAlphaInputValue = 100
+ if (AInput) {
+ AInput.value = this.pickAlphaInputValue = 1
}
this.colorPicker.config.defaultColor = ''
customizeStyle()
@@ -64,7 +69,7 @@ class YJColorPicker {
// }
config.predefineColor = ['rgba(255, 255, 255, 1)', 'rgba(255, 0, 0, 1)', 'rgba(208, 132, 209, 1)', 'rgba(100, 182, 217, 1)', 'rgba(42, 130, 228, 1)', 'rgba(214, 36, 36, 1)', 'rgba(252, 222, 111, 1)', 'rgba(67, 207, 124, 1)', 'rgba(176, 243, 143, 1)', 'rgba(121, 72, 234, 1)', 'rgba(255, 195, 0, 1)', 'rgba(0, 186, 173, 1)', 'rgba(165, 214, 63, 1)', 'rgba(0, 0, 0, 1)', 'rgba(46, 47, 51, 1)', 'rgba(172, 51, 193, 1)', 'rgba(130, 21, 21, 1)', 'rgba(255, 87, 51, 1)', 'rgba(255, 140, 0, 1)', 'rgba(125, 191, 255, 1)']
this.colorPicker = new ewPlugins('colorpicker', config)
- window.colorPicker = this.colorPicker
+ // window.colorPicker = this.colorPicker
customizeStyle()
@@ -78,7 +83,7 @@ class YJColorPicker {
let x = box.getBoundingClientRect().x
let y = box.getBoundingClientRect().y
let height = 0
-
+
// if (picker.style.display === 'none') {
// picker.style.display = 'block'
// height = picker.offsetHeight
@@ -103,16 +108,13 @@ class YJColorPicker {
pickAlphaSliderBar.parentNode.style.width = '16px'
pickAlphaSliderBar.parentNode.removeChild(pickAlphaSliderBar)
}
- // let customDivider = document.createElement('span')
- // customDivider.className = 'custom-divider'
- // customDivider.style.margin = '10px 0'
- // pickerContent.parentNode.insertBefore(customDivider, pickerContent.nextSibling)
+
let pickPen = document.createElement('div')
pickPen.className = 'icon-pen-box'
pickPen.innerHTML = ''
/** 为完成、暂时隐藏 *///////
- pickPen.style.opacity = '0'
+ pickPen.style.display = 'none'
pickPen.style.cursor = 'unset'
@@ -120,19 +122,67 @@ class YJColorPicker {
let pickerInput = _this.colorPicker.pickerInput
pickerInput.parentNode.insertBefore(pickPen, pickerInput)
pickerInput.style.width = '188px'
+ pickerInput.style.display = 'none'
+
+ let colorInputBox = document.createElement('div')
+ let row1Elm = document.createElement('div')
+ row1Elm.className = 'row'
+ row1Elm.style.margin = '6px 0 0 0'
+ row1Elm.innerHTML = `
+
R
+ G
+ B
+
+ `
+ let row2Elm = document.createElement('div')
+ row2Elm.className = 'row'
+ row2Elm.innerHTML = `
+
+
+
+
+
+
+
+
+
+ `
+ colorInputBox.appendChild(row1Elm)
+ colorInputBox.appendChild(row2Elm)
+ let Inputs = row2Elm.getElementsByTagName('input')
+ Inputs[0].style.width = '72px'
+ Inputs[1].style.width = '72px'
+ Inputs[2].style.width = '72px'
+ RInput = Inputs[0]
+ GInput = Inputs[1]
+ BInput = Inputs[2]
+
+ let dropbtns = picker.getElementsByClassName('ew-color-dropbtns')[0]
+ picker.insertBefore(colorInputBox, dropbtns)
if (options.alpha) {
+ Inputs[0].style.width = '52px'
+ Inputs[1].style.width = '52px'
+ Inputs[2].style.width = '52px'
let pickAlpha = document.createElement('div')
- pickAlpha.className = 'input-number input-number-unit-1 color-alpha'
+ pickAlpha.className = 'input-number input-number-unit color-alpha'
pickAlpha.innerHTML = `
-
- %
+
`
pickerInput.parentNode.insertBefore(pickAlpha, pickerInput.nextSibling)
pickerInput.style.width = '106px'
- pickAlpha.style.width = '80px'
- pickAlphaInput = pickAlpha.getElementsByClassName('input')[0]
- pickAlphaInput.addEventListener('blur', (e) => {
+ pickAlpha.style.width = '66px'
+ pickAlpha.style.margin = '0 6px 0 0'
+ AInput = pickAlpha.getElementsByClassName('input')[0]
+ row1Elm.innerHTML = `
+ R
+ G
+ B
+ A
+
+ `
+ row2Elm.appendChild(pickAlpha)
+ AInput.addEventListener('blur', (e) => {
let value = e.target.value
if (e.target.value || (e.target.dataset.null !== 'undefined' && e.target.dataset.null !== '' && !Boolean(e.target.dataset.null))) {
value = Number(value)
@@ -145,23 +195,26 @@ class YJColorPicker {
if ((e.target.dataset.min) && value < Number(e.target.dataset.min)) {
value = Number(e.target.dataset.min)
}
- pickAlphaInput.value = Number(value.toFixed(0))
+ AInput.value = parseInt(value * 100) / 100
}
})
if (_this.pickAlphaInputValue || _this.pickAlphaInputValue === 0 || _this.pickAlphaInputValue === '0') {
- pickAlphaInput.value = Number(Number(_this.pickAlphaInputValue).toFixed(0))
+ AInput.value = parseInt(_this.pickAlphaInputValue * 100) / 100
}
else {
- pickAlphaInput.value = CesiumColor ? Number((CesiumColor.alpha * 100).toFixed(0)) : 100
+ AInput.value = CesiumColor ? parseInt(CesiumColor.alpha * 100) / 100 : 1
}
- _this.pickAlphaInputValue = pickAlphaInput.value
- box.style.background = Cesium.Color.fromCssColorString(_this.colorPicker.config.defaultColor || '#ffffff').withAlpha(pickAlphaInput.value / 100).toCssColorString()
+ _this.pickAlphaInputValue = AInput.value
+ box.style.background = Cesium.Color.fromCssColorString(_this.colorPicker.config.defaultColor || '#ffffff').withAlpha(AInput.value).toCssColorString()
}
else {
CesiumColor = CesiumColor ? CesiumColor.withAlpha(1) : ''
box.style.background = Cesium.Color.fromCssColorString(_this.colorPicker.config.defaultColor || '#ffffff').toCssColorString()
}
+ let btngroup = picker.getElementsByClassName('ew-color-dropbtngroup')[0]
+ row2Elm.appendChild(btngroup)
+
let defineColorContainer = picker.getElementsByClassName('ew-pre-define-color-container')[0]
if (defineColorContainer) {
let colorList = localStorage.getItem('custom-color')
@@ -188,8 +241,10 @@ class YJColorPicker {
addColorBtn.className = 'yj-pre-collect-color add'
let subtractColorBtn = document.createElement('div')
- subtractColorBtn.innerHTML = ''
+ subtractColorBtn.innerHTML = ''
subtractColorBtn.className = 'yj-pre-collect-color subtract'
+ let minusIcon = subtractColorBtn.getElementsByClassName('icon-minus')[0]
+ let confirmIcon = subtractColorBtn.getElementsByClassName('icon-confirm')[0]
collectColorContainer.appendChild(addColorBtn)
collectColorContainer.appendChild(subtractColorBtn)
@@ -248,8 +303,8 @@ class YJColorPicker {
let color = colorRgbaToHex(colorHsbaToRgba(_this.colorPicker.hsba))
let c = Cesium.Color.fromCssColorString(color || '#ffffff')
- if (pickAlphaInput) {
- c = c.withAlpha(pickAlphaInput.value / 100)
+ if (AInput) {
+ c = c.withAlpha(AInput.value)
}
let colorString = c.toCssHexString()
colorItemElm.style.backgroundColor = colorString
@@ -283,11 +338,15 @@ class YJColorPicker {
subtractColorBtn.addEventListener('click', () => {
isSubtract = !isSubtract
if (isSubtract) {
+ minusIcon.style.display = 'none'
+ confirmIcon.style.display = 'unset'
for (let i = 0; i < subtractElmList.length; i++) {
subtractElmList[i].style.display = 'block'
}
}
else {
+ minusIcon.style.display = 'unset'
+ confirmIcon.style.display = 'none'
for (let i = 0; i < subtractElmList.length; i++) {
subtractElmList[i].style.display = 'none'
}
@@ -308,12 +367,14 @@ class YJColorPicker {
picker.style.top = (y + box.offsetHeight + 4) + 'px'
}
_this.colorPicker.pancelTop = parseFloat(picker.style.top) - 2
+
+ pickerInputChange(Cesium.Color.fromCssColorString(_this.colorPicker.config.defaultColor || '#ffffff').toCssHexString())
}
function clickDefineColor(color) {
- if (pickAlphaInput) {
+ if (AInput) {
let c = Cesium.Color.fromCssColorString(color)
- pickAlphaInput.value = Number((c.alpha * 100).toFixed(0))
+ AInput.value = parseInt(c.alpha * 100) / 100
}
}
@@ -366,6 +427,46 @@ class YJColorPicker {
"#" + n
}
}
+
+ function colorHexToRgba(hex, alpha) {
+ let a = alpha || 1,
+ hColor = hex.toLowerCase(),
+ hLen = hex.length,
+ rgbaColor = [];
+ hColor = Cesium.Color.fromCssColorString(hColor).toCssHexString().substring(0, 7)
+ const colorRegExp = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
+ if (hex && colorRegExp.test(hColor)) {
+ //the hex length may be 4 or 7,contained the symbol of #
+ if (hLen === 4) {
+ let hSixColor = '#';
+
+ for (let i = 1; i < hLen; i++) {
+ let sColor = hColor.slice(i, i + 1);
+ hSixColor += sColor.concat(sColor);
+ }
+
+ hColor = hSixColor;
+ }
+
+ for (let j = 1, len = hColor.length; j < len; j += 2) {
+ rgbaColor.push(parseInt('0X' + hColor.slice(j, j + 2), 16));
+ }
+
+ // return "rgba(" + rgbaColor.join(",") + ',' + a + ")";
+ return rgbaColor;
+ } else {
+ return;
+ }
+ }
+
+ function pickerInputChange(v) {
+ if (_this.colorPicker && _this.colorPicker.pickerInput) {
+ let rgbaColor = colorHexToRgba(v || _this.colorPicker.pickerInput.value)
+ RInput.value = rgbaColor[0]
+ GInput.value = rgbaColor[1]
+ BInput.value = rgbaColor[2]
+ }
+ }
}
}
diff --git a/static/3rdparty/ewPlugins.min.js b/static/3rdparty/ewPlugins.min.js
index 8f9a006..ffd594b 100644
--- a/static/3rdparty/ewPlugins.min.js
+++ b/static/3rdparty/ewPlugins.min.js
@@ -746,6 +746,7 @@
o.colorHsbaToRgba)(e.hsba) : e.pickerInput.value = (0,
o.colorRgbaToHex)((0,
o.colorHsbaToRgba)(e.hsba))
+ e.config.pickerInputChange && e.config.pickerInputChange()
}
function f(e) {
if (this.pickerFlag = !1,
@@ -795,6 +796,8 @@
n.isFunction)(e.sure) ? e.sure : null,
clear: (0,
n.isFunction)(e.clear) ? e.clear : null,
+ pickerInputChange: (0,
+ n.isFunction)(e.pickerInputChange) ? e.pickerInputChange : null,
startMainCallback: (0,
n.isFunction)(e.startMainCallback) ? e.startMainCallback : null,
clickDefineColor: (0,
@@ -891,6 +894,7 @@
var u = i - e.hsba.a * i;
c(e.alphaBarThumb, "top", u + "px")
}
+ e.config.pickerInputChange && e.config.pickerInputChange()
}
function b(e, t) {
var r = e.hueBar.offsetHeight
@@ -1086,6 +1090,7 @@
o.colorRgbaToHex)((0,
o.colorHsbaToRgba)(e.hsba));
e.config.defaultColor = e.pickerInput.value
+ e.config.pickerInputChange && e.config.pickerInputChange()
e.render(e.box.parentNode, e.config),
e.config.sure(t, e)
}(r)
diff --git a/static/custom/css/index.css b/static/custom/css/index.css
index 87032c8..ec8178e 100644
--- a/static/custom/css/index.css
+++ b/static/custom/css/index.css
@@ -1034,8 +1034,19 @@
padding: 5px;
position: fixed !important;
}
+.YJ-custom-base-dialog>.content .ew-color-picker input {
+ font-size: 14px;
+ line-height: 28px;
+ height: 28px;
+ padding: 0 8px;
+ font-weight: 400;
+}
+.YJ-custom-base-dialog>.content .ew-color-picker .input-number-unit input[type=number] {
+ padding: 0 20px 0 8px;
+ width: 66px;
+}
-.YJ-custom-base-dialog .ew-color-picker>.ew-color-picker-content {
+.YJ-custom-base-dialog.ew-color-picker>.ew-color-picker-content {
margin-bottom: 10px;
}
.YJ-custom-base-dialog .ew-color-picker>.ew-color-picker-content>.ew-color-panel {
@@ -1064,6 +1075,10 @@
line-height: 24px;
}
+.YJ-custom-base-dialog>.content>div .ew-color-picker .row>.col {
+ margin: 0 !important;
+}
+
.YJ-custom-base-dialog .ew-color-picker .icon-pen-box .icon-pen {
margin: 0;
}
@@ -1079,9 +1094,9 @@
}
.YJ-custom-base-dialog .ew-color-picker .color-alpha>input {
- font-weight: 400;
- font-family: Arial;
- font-size: 14px;
+ font-weight: 400 !important;
+ font-family: Arial !important;
+ font-size: 14px !important;
}
.YJ-custom-base-dialog .ew-color-picker>.ew-pre-define-color-container {
@@ -1169,10 +1184,13 @@
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup {
display: flex;
+ position: unset;
}
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup button {
- padding: 5px 10px 4px 10px;
+ padding: 0 8px;
+ height: 28px;
+ line-height: 28px;
}
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup button.ew-color-clear {
margin-right: 8px;
diff --git a/static/custom/img/icom-confirm.svg b/static/custom/img/icom-confirm.svg
new file mode 100644
index 0000000..6ba0d24
--- /dev/null
+++ b/static/custom/img/icom-confirm.svg
@@ -0,0 +1,4 @@
+
From 53ba8cb0148aaf897c9378a2875d18e1f6d644f9 Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Fri, 25 Jul 2025 12:01:45 +0800
Subject: [PATCH 06/53] =?UTF-8?q?=E8=B7=9D=E7=A6=BB=E5=8D=95=E4=BD=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/PolylineObject/index.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/Obj/Base/PolylineObject/index.js b/src/Obj/Base/PolylineObject/index.js
index bdc778e..ff70456 100644
--- a/src/Obj/Base/PolylineObject/index.js
+++ b/src/Obj/Base/PolylineObject/index.js
@@ -18,6 +18,7 @@ import { setSplitDirection, syncSplitData, setActiveId } from '../../../Global/S
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../Global/global'
class PolylineObject extends Base {
+ #unitDataLegpObject
/**
* @constructor
* @param sdk
@@ -253,6 +254,7 @@ class PolylineObject extends Base {
this._elms.lengthUnit.forEach(item => {
item.value = v
})
+ this.#unitDataLegpObject && this.#unitDataLegpObject.legp_searchActive(v)
if (this.options.lengthByMeter) {
if (this.unitNum > 2) {
switch (v) {
@@ -1743,6 +1745,7 @@ class PolylineObject extends Base {
'.input-select-unit',
1
)
+ this.#unitDataLegpObject = unitDataLegpObject
if (unitDataLegpObject) {
unitDataLegpObject.legp_search(unitData)
let unitDataLegpElm = this._DialogObject._element.content
From 3bbc71065ad574b96070a0b8b0066bd706eb6b82 Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Mon, 28 Jul 2025 10:33:13 +0800
Subject: [PATCH 07/53] =?UTF-8?q?=E9=9D=A2=E6=8F=8F=E8=BE=B9=E9=A2=9C?=
=?UTF-8?q?=E8=89=B2=E9=BB=98=E8=AE=A4=E5=80=BC=E6=94=B9=E4=B8=BArgba(255,?=
=?UTF-8?q?=200,=200,=201)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/AssembleObject/index.js | 2 +-
src/Obj/Base/AttackArrowObject/index.js | 2 +-
src/Obj/Base/CircleObject/index.js | 2 +-
src/Obj/Base/EllipseObject/index.js | 4 ++--
src/Obj/Base/PincerArrowObject/index.js | 2 +-
src/Obj/Base/PolygonObject/index.js | 2 +-
src/Obj/Base/SectorObject/index.js | 2 +-
src/Obj/Base/StraightArrowObject/index.js | 2 +-
8 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/Obj/Base/AssembleObject/index.js b/src/Obj/Base/AssembleObject/index.js
index e04f065..3ee6ba0 100644
--- a/src/Obj/Base/AssembleObject/index.js
+++ b/src/Obj/Base/AssembleObject/index.js
@@ -40,7 +40,7 @@ class AssembleObject extends Base {
this.options.positions = options.positions || []
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
this.entity
this.event = new MouseEvent(this.sdk)
diff --git a/src/Obj/Base/AttackArrowObject/index.js b/src/Obj/Base/AttackArrowObject/index.js
index c3aaaac..ec83033 100644
--- a/src/Obj/Base/AttackArrowObject/index.js
+++ b/src/Obj/Base/AttackArrowObject/index.js
@@ -40,7 +40,7 @@ class AttackArrowObject extends Base {
this.options.heightMode = (options.heightMode || options.heightMode == 0) ? options.heightMode : 2
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
this.entity
this.event = new MouseEvent(this.sdk)
diff --git a/src/Obj/Base/CircleObject/index.js b/src/Obj/Base/CircleObject/index.js
index a6e88d1..4126eff 100644
--- a/src/Obj/Base/CircleObject/index.js
+++ b/src/Obj/Base/CircleObject/index.js
@@ -45,7 +45,7 @@ class CircleObject extends Base {
this.options.center = options.center || {}
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
options.label = options.label || {}
this._elms = {};
diff --git a/src/Obj/Base/EllipseObject/index.js b/src/Obj/Base/EllipseObject/index.js
index 1ad1c75..f9dedbd 100644
--- a/src/Obj/Base/EllipseObject/index.js
+++ b/src/Obj/Base/EllipseObject/index.js
@@ -32,7 +32,7 @@ class EllipseObject extends Base {
* @param options.bearing=0 {number} 旋转角度
* @param options.line {object} 边框
* @param options.line.width=2 {string} 边框宽
- * @param options.line.color="#ff000080" {string} 边框颜色
+ * @param options.line.color="rgba(255, 0, 0, 1)" {string} 边框颜色
* @param options.label {object} 标注
* @param options.heightMode=2{number} 高度模式(0:海拔高度;1:相对地表;2:依附模式)
*/
@@ -47,7 +47,7 @@ class EllipseObject extends Base {
this.options.center = options.center || {}
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
options.label = options.label || {}
this._elms = {};
diff --git a/src/Obj/Base/PincerArrowObject/index.js b/src/Obj/Base/PincerArrowObject/index.js
index b293441..5788789 100644
--- a/src/Obj/Base/PincerArrowObject/index.js
+++ b/src/Obj/Base/PincerArrowObject/index.js
@@ -40,7 +40,7 @@ class PincerArrowObject extends Base {
this.options.heightMode = (options.heightMode || options.heightMode == 0) ? options.heightMode : 2
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
this.options.height = options.height
this.options.loop = options.loop || false
diff --git a/src/Obj/Base/PolygonObject/index.js b/src/Obj/Base/PolygonObject/index.js
index 738cf61..dbaafdf 100644
--- a/src/Obj/Base/PolygonObject/index.js
+++ b/src/Obj/Base/PolygonObject/index.js
@@ -47,7 +47,7 @@ class PolygonObject extends Base {
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
this.options.line.color =
- this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
this.entity
this.event = new MouseEvent(this.sdk)
diff --git a/src/Obj/Base/SectorObject/index.js b/src/Obj/Base/SectorObject/index.js
index 8f7a317..9ddbeb4 100644
--- a/src/Obj/Base/SectorObject/index.js
+++ b/src/Obj/Base/SectorObject/index.js
@@ -47,7 +47,7 @@ class SectorObject extends Base {
this.options.center = options.center || {}
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
options.label = options.label || {}
this._elms = {};
diff --git a/src/Obj/Base/StraightArrowObject/index.js b/src/Obj/Base/StraightArrowObject/index.js
index f1c26aa..f4037ef 100644
--- a/src/Obj/Base/StraightArrowObject/index.js
+++ b/src/Obj/Base/StraightArrowObject/index.js
@@ -40,7 +40,7 @@ class StraightArrowObject extends Base {
this.options.positions = options.positions || []
this.options.line = options.line || {}
this.options.line.width = ((this.options.line.width || this.options.line.width === 0) ? this.options.line.width : 3)
- this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 0.5)'
+ this.options.line.color = this.options.line.color || 'rgba(255, 0, 0, 1)'
this.options['area-unit'] = options['area-unit'] || '平方米'
this.entity
this.event = new MouseEvent(this.sdk)
From 8afd3138f4242424116fa79cf6e4b85a634c83ba Mon Sep 17 00:00:00 2001
From: zh <972939975@qq.com>
Date: Mon, 28 Jul 2025 10:36:24 +0800
Subject: [PATCH 08/53] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BA=BF=E6=AE=B5?=
=?UTF-8?q?=E7=BC=93=E5=86=B2=E9=BB=98=E8=AE=A4=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/CurvelineObject/index.js | 6 +++---
src/Obj/Base/PolylineObject/index.js | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Obj/Base/CurvelineObject/index.js b/src/Obj/Base/CurvelineObject/index.js
index 8b946e1..0c8bf41 100644
--- a/src/Obj/Base/CurvelineObject/index.js
+++ b/src/Obj/Base/CurvelineObject/index.js
@@ -30,7 +30,7 @@ class CurvelineObject extends Base {
* @param options.heightMode{number} 高度模式(0:海拔高度;1:相对高度;2:依附模式)
* @param options['nose-to-tail']=false {boolean} 首尾相连
* @param options.extend=false {boolean} 线缓冲
- * @param options['extend-width']=1 {number} 线缓冲宽度
+ * @param options['extend-width']=10 {number} 线缓冲宽度
* @param options['extend-color']=#ffde00 {number} 线缓冲颜色
* @param options.show=true {boolean} 显隐
* @param {Array.