From 6e2efbe544ed1a609771f00fefd67f3004a3939d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Tue, 15 Jul 2025 10:41:58 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E7=BA=BF=E8=B4=B4=E5=9B=BE=E9=80=9F?=
=?UTF-8?q?=E5=BA=A6=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Tools/index.js | 39 +++++++++++++++++++++++++++++++++++----
1 file changed, 35 insertions(+), 4 deletions(-)
diff --git a/src/Tools/index.js b/src/Tools/index.js
index f788a26..33b3f7b 100644
--- a/src/Tools/index.js
+++ b/src/Tools/index.js
@@ -651,10 +651,13 @@ class Tools {
'11': 4,
'12': 2
}
+
+
param.speed = newParam.rotate ? param.speed : 0 - param.speed
- console.log(entity.polyline.oriWidth, arr[type + ''], type, 'oriWidth')
entity.polyline.width = entity.polyline.oriWidth + arr[type + '']
+
+
this.getFlowTexture(this, param, entity)
break
@@ -691,8 +694,8 @@ class Tools {
// let repeat = getRepeat()
// }, false)
- entity.polyline.material.oriRepeat = undefined
- entity.polyline.material.oriSpeed = undefined
+ // entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle)
+ // entity.polyline.material.oriSpeed = undefined
entity.polyline.material = new Cesium.LineTextureMaterialProperty(
{
color: options.color,
@@ -745,9 +748,37 @@ class Tools {
})
}
)
- entity.polyline.material.oriSpeed = options.speed
+ // entity.polyline.material.oriSpeed = options.speed
+ entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle)
}
}
+ /**获取当前满屏横线速度 */
+ getSceenLine(entity, options, canvasEle) {
+ let point1 = new Cesium.Cartesian2(0, this.sdk.viewer.canvas.clientHeight)
+ let point2 = new Cesium.Cartesian2(this.sdk.viewer.canvas.clientWidth / 2, this.sdk.viewer.canvas.clientHeight)
+ var cartesian1 = this.sdk.viewer.scene.pickPosition(point1)
+ var cartesian2 = this.sdk.viewer.scene.pickPosition(point2)
+
+ var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
+
+ var repeatX = distance / entity.polyline.width.getValue();
+ // 根据地图缩放程度调整repeatX
+ var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
+ var boundingSphere = new Cesium.BoundingSphere(
+ new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
+ 500000 // 半径(距离)
+ );
+
+ // 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
+ var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
+ var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
+
+ // 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
+ var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
+ // repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
+ repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
+ return repeatX * 2
+ }
/*创建直箭头图片*/
create_arrow1_picture(color) {
From a82a8abf65000dd3c8ba75ee3ab5e0c88f40ebb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Tue, 15 Jul 2025 18:23:31 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E7=BA=BF=E8=B4=B4=E5=9B=BE=20=E9=80=9F?=
=?UTF-8?q?=E5=BA=A6bug=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/PolylineObject/_element.js | 5 +-
src/Obj/Base/PolylineObject/index.js | 99 ++++++++++++++-
.../FlowDashedLineFlowMaterialProperty.js | 15 ++-
src/Tools/index.js | 115 ++++++++++++------
4 files changed, 188 insertions(+), 46 deletions(-)
diff --git a/src/Obj/Base/PolylineObject/_element.js b/src/Obj/Base/PolylineObject/_element.js
index c1356e5..17c8b9e 100644
--- a/src/Obj/Base/PolylineObject/_element.js
+++ b/src/Obj/Base/PolylineObject/_element.js
@@ -96,10 +96,9 @@ function html(that) {
diff --git a/src/Obj/Base/PolylineObject/index.js b/src/Obj/Base/PolylineObject/index.js
index e474b08..f605d4f 100644
--- a/src/Obj/Base/PolylineObject/index.js
+++ b/src/Obj/Base/PolylineObject/index.js
@@ -177,7 +177,8 @@ class PolylineObject extends Base {
}
set speed(v) {
- this.options.speed = v
+ // this.options.speed = v
+ this.options.speed = v !== 0 ? Math.pow(v, -1) * 100 : 0
this.entity.polyline.material = this.getMaterial(this.options.color, this.options.type, this.entity, this.options)
}
get dashSize() {
@@ -1321,6 +1322,7 @@ class PolylineObject extends Base {
}
})
that.entity.polyline.oriWidth = that.options.width
+ that.judgeLine(that.entity, that.options)
that.sdk._entityZIndex++
PolylineObject.createLabel(that)
// that.entity.polyline.positionsLngLat = positions
@@ -1355,7 +1357,102 @@ class PolylineObject extends Base {
let scene = that.sdk.viewer.scene
}
+ judgeLine(entity, newParam) {
+ if (!entity.polyline.oriRepeat) {
+ let param = {
+ color: newParam.color,
+ image: this.getSourceRootPath() + `/img/arrow/1.png`,
+ space: newParam.space,
+ speed: newParam.speed
+ }
+ param.speed = newParam.rotate ? param.speed : 0 - param.speed
+
+ const canvasEle = document.createElement('canvas');
+ const ctx = canvasEle.getContext('2d')
+ const myImg = new Image()
+ // myImg.src = that.getSourceRootPath() + '/img/arrow/1.png'
+ myImg.src = param.image
+ let that = this
+ myImg.onload = function () {
+ canvasEle.width = myImg.width * (param.space + 1)
+ canvasEle.height = myImg.height
+
+ let oriRepeat = that.getSceenLine(entity, param, canvasEle)
+ oriRepeat && (entity.polyline.oriRepeat = oriRepeat)
+
+
+ var positionProperty = entity.polyline.positions;
+ var positions = positionProperty.getValue(that.sdk.viewer.clock.currentTime);
+
+ if (!Cesium.defined(positions)) {
+ return new Cesium.Cartesian2(1.0, 1.0);
+ // return 1.0;
+ }
+
+ var distance = 0;
+ for (var i = 0; i < positions.length - 1; ++i) {
+ distance += Cesium.Cartesian3.distance(positions[i], positions[i + 1]);
+ }
+
+ var repeatX = distance / entity.polyline.width.getValue();
+ // 根据地图缩放程度调整repeatX
+ var cameraHeight = that.sdk.viewer.camera.positionCartographic.height;
+ var boundingSphere = new Cesium.BoundingSphere(
+ new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
+ 500000 // 半径(距离)
+ );
+
+ // 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
+ var drawingBufferWidth = that.sdk.viewer.canvas.clientWidth;
+ var drawingBufferHeight = that.sdk.viewer.canvas.clientHeight;
+
+ // 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
+ var groundResolution = that.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
+ repeatX *= groundResolution / cameraHeight / (param.space * (canvasEle.width / canvasEle.height * 5) + 1);
+ // if (entity.polyline.material.oriRepeat) {
+ let speed = repeatX / entity.polyline.oriRepeat
+ entity.polyline.oriSpeed = speed
+ entity.polyline.oriRepeatX = repeatX
+ }
+
+
+
+
+ }
+ }
+ /**获取当前满屏横线速度 */
+ getSceenLine(entity, options, canvasEle) {
+ let point1 = new Cesium.Cartesian2(0, this.sdk.viewer.canvas.clientHeight)
+ let point2 = new Cesium.Cartesian2(this.sdk.viewer.canvas.clientWidth / 2, this.sdk.viewer.canvas.clientHeight)
+ var cartesian1 = this.sdk.viewer.scene.pickPosition(point1)
+ var cartesian2 = this.sdk.viewer.scene.pickPosition(point2)
+
+ var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
+
+ var repeatX = distance / entity.polyline.width.getValue();
+ // 根据地图缩放程度调整repeatX
+ var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
+ var boundingSphere = new Cesium.BoundingSphere(
+ new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
+ 500000 // 半径(距离)
+ );
+
+ // 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
+ var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
+ var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
+
+ // 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
+ var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
+ // repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
+ if (groundResolution > 700) {
+ repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
+ } else {
+ repeatX = undefined;
+ }
+
+ return repeatX
+ }
/**
* 编辑框
* @param {boolean} state true打开,false关闭
diff --git a/src/Obj/Materail/FlowDashedLineFlowMaterialProperty.js b/src/Obj/Materail/FlowDashedLineFlowMaterialProperty.js
index 546cda6..dddc50f 100644
--- a/src/Obj/Materail/FlowDashedLineFlowMaterialProperty.js
+++ b/src/Obj/Materail/FlowDashedLineFlowMaterialProperty.js
@@ -10,12 +10,14 @@ function FlowDashedLine() {
this._uType = undefined;
this._space = undefined;
this._dashSize = undefined;
+ this._scale = undefined;
this.color = new Cesium.Color.fromCssColorString(options.color || "rgba(255,255,255,1)");
this.speed = options.speed != undefined ? options.speed : 1.0;//速度
this.space = options.space || 0.0;//速度
this.dashSize = options.dashSize || 0.03;//速度
this.uType = options.uType === undefined ? 1 : options.uType;//类型:0:普通流动线 1:虚化虚线
this.lineBackAlpha = options.lineBackAlpha || 0.05;
+ this.scale = options.scale || 1.0;
}
get isConstant() {
@@ -65,6 +67,12 @@ function FlowDashedLine() {
1,
result.uType
);
+ result.scale = Cesium.Property.getValueOrDefault(
+ this._scale,
+ time,
+ 1.0,
+ result.scale
+ );
result.lineBackAlpha = this.lineBackAlpha;
result.frameNumber = Cesium.getTimestamp();
return result;
@@ -77,7 +85,8 @@ function FlowDashedLine() {
Cesium.Property.equals(this._color, other._color) &&
Cesium.Property.equals(this._speed, other.speed) &&
Cesium.Property.equals(this._uType, other.uType) &&
- Cesium.Property.equals(this.lineBackAlpha, other.lineBackAlpha))
+ Cesium.Property.equals(this._lineBackAlpha, other.lineBackAlpha) &&
+ Cesium.Property.equals(this._scale, other.scale))
);
}
}
@@ -89,6 +98,7 @@ function FlowDashedLine() {
dashSize: Cesium.createPropertyDescriptor("dashSize"),
uType: Cesium.createPropertyDescriptor("uType"),
transparency: Cesium.createPropertyDescriptor("lineBackAlpha"),
+ scale: Cesium.createPropertyDescriptor("scale"),
});
Cesium.FlowDashedLineFlowMaterialProperty = FlowDashedLineFlowMaterialProperty;
@@ -108,7 +118,7 @@ function FlowDashedLine() {
float dashSize = 0.1;
float gapSize = space;
// speed现在表示完成一次完整动画循环的秒数
- float progress = speed==0.0 ? 0.0 : fract(frameNumber / 1000.0 / speed);
+ float progress = speed==0.0 ? 0.0 : fract(frameNumber / 1000.0 / speed * scale);
float pattern = fract(st.x / dashSize * (1.0 + gapSize) + progress / dashSize * (1.0 + gapSize));
float dash1 = step(0.0, pattern) - step(1.0/(1.0 + gapSize), pattern);
float dash2 = smoothstep(0.0, 0.2, pattern) -
@@ -131,6 +141,7 @@ function FlowDashedLine() {
color: new Cesium.Color(1.0, 1.0, 1.0, 1.0),
speed: 1,
space: 0.0,
+ scale: 1.0,
dashSize: 0.03,
frameNumber: Cesium.getTimestamp(),
uType: 1,
diff --git a/src/Tools/index.js b/src/Tools/index.js
index 044ed77..8fc5006 100644
--- a/src/Tools/index.js
+++ b/src/Tools/index.js
@@ -202,7 +202,7 @@ class Tools {
return length.toFixed(fractionDigits)
}
}
-
+
computeDistance2(positions = [], fractionDigits = 2, ground = true) {
if (positions.length < 2) {
return 0
@@ -586,6 +586,17 @@ class Tools {
getMaterial(color = '#2ab0c2', type = 0, entity = null, newParam = {}) {
let material = ''
+ let arr = {
+ '7': 10,
+ '8': 3,
+ '9': 4,
+ '10': 4,
+ '11': 4,
+ '12': 2
+ }
+ if (entity) {
+ arr[type + ''] ? (entity.polyline.width = entity.polyline.oriWidth + arr[type + '']) : (entity.polyline.width = entity.polyline.oriWidth)
+ }
switch (Number(type)) {
@@ -616,22 +627,48 @@ class Tools {
})
break
case 5: //普通流动虚线
- material = new Cesium.FlowDashedLineFlowMaterialProperty({
- color: color,
- uType: 0,
- speed: newParam.rotate ? newParam.speed : 0 - newParam.speed,
- // dashSize: newParam.dashSize,
- space: newParam.space
- })
- break
+ // material = new Cesium.FlowDashedLineFlowMaterialProperty({
+ // color: color,
+ // uType: 0,
+ // speed: newParam.rotate ? newParam.speed : 0 - newParam.speed,
+ // // dashSize: newParam.dashSize,
+ // space: newParam.space,
+ // scale: 1.0
+ // })
+ // break
case 6: //流动虚线2
+ let that = this
+
material = new Cesium.FlowDashedLineFlowMaterialProperty({
color: color,
- uType: 1,
+ uType: type == 5 ? 0 : 1,
speed: newParam.rotate ? newParam.speed : 0 - newParam.speed,
// dashSize: newParam.dashSize,
- space: newParam.space
+ space: newParam.space,
+ scale: new Cesium.CallbackProperty(function () {
+ var oriPositions = entity.polyline.positions.getValue();
+
+ if (!Cesium.defined(oriPositions)) {
+ return 1.0;
+ }
+ var distance = 0;
+ for (var i = 0; i < oriPositions.length - 1; ++i) {
+ distance += Cesium.Cartesian3.distance(oriPositions[i], oriPositions[i + 1]);
+ }
+ //屏幕坐标
+ let point1 = new Cesium.Cartesian2(0, that.sdk.viewer.canvas.clientHeight)
+ let point2 = new Cesium.Cartesian2(that.sdk.viewer.canvas.clientWidth / 2, that.sdk.viewer.canvas.clientHeight)
+ var cartesian1 = that.sdk.viewer.scene.pickPosition(point1)
+ var cartesian2 = that.sdk.viewer.scene.pickPosition(point2)
+
+ var distance2 = Cesium.Cartesian3.distance(cartesian1, cartesian2);
+
+ let repeatX = distance2 * 2 / distance
+
+ return repeatX;
+ })
})
+
break
case 7: //流动箭头1
case 8: //流动箭头2
@@ -645,20 +682,8 @@ class Tools {
space: newParam.space,
speed: newParam.speed
}
- let arr = {
- '7': 10,
- '8': 3,
- '9': 4,
- '10': 4,
- '11': 4,
- '12': 2
- }
-
param.speed = newParam.rotate ? param.speed : 0 - param.speed
- entity.polyline.width = entity.polyline.oriWidth + arr[type + '']
-
-
this.getFlowTexture(this, param, entity)
@@ -669,6 +694,7 @@ class Tools {
}
return material
}
+
getFlowTexture(that, options, entity) {
const canvasEle = document.createElement('canvas');
@@ -698,15 +724,13 @@ class Tools {
// }, false)
// entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle)
// entity.polyline.material.oriSpeed = undefined
+ let beforeSpeed = 0, repeat = 0
entity.polyline.material = new Cesium.LineTextureMaterialProperty(
{
color: options.color,
- // image: options.image,
image: canvasEle,
speed: options.speed,
- // repeat: repeat
repeat: new Cesium.CallbackProperty(function () {
- // function getRepeat() {
var positionProperty = entity.polyline.positions;
var positions = positionProperty.getValue(that.sdk.viewer.clock.currentTime);
@@ -734,24 +758,30 @@ class Tools {
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
var groundResolution = that.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
- // repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
- repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
- let speed
- if (entity.polyline.material.oriRepeat) {
- speed = repeatX / entity.polyline.material.oriRepeat
+ let result
+ if (groundResolution > 700) {
+ repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
+ // if (entity.polyline.material.oriRepeat) {
+ let speed = repeatX / entity.polyline.oriRepeat
+ entity.polyline.oriSpeed = speed
+ entity.polyline.oriRepeatX = repeatX
+ // } else {
+ // entity.polyline.material.oriRepeat = repeatX
+ // }
+ beforeSpeed = speed
+ repeat = repeatX
+ result = new Cesium.Cartesian2(repeatX, speed || 1.0)
} else {
- entity.polyline.material.oriRepeat = repeatX
+ result = new Cesium.Cartesian2(repeat || entity.polyline.oriRepeatX, beforeSpeed || entity.polyline.oriSpeed)
}
- // if (repeatX < 3) {
- // repeatX = 3
- // }
- return new Cesium.Cartesian2(repeatX, speed || 1.0);
+
+ return result;
// return repeatX;
})
}
)
- // entity.polyline.material.oriSpeed = options.speed
- entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle)
+ let oriRepeat = that.getSceenLine(entity, options, canvasEle)
+ oriRepeat && (entity.polyline.oriRepeat = oriRepeat)
}
}
/**获取当前满屏横线速度 */
@@ -778,8 +808,13 @@ class Tools {
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
// repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
- repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
- return repeatX * 2
+ if (groundResolution > 700) {
+ repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
+ } else {
+ repeatX = undefined;
+ }
+
+ return repeatX
}
/*创建直箭头图片*/
From 05c69c034ee5f6ce40b36af48498069aa5e6d6ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Wed, 16 Jul 2025 10:26:14 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=A9=E7=95=A5?=
=?UTF-8?q?=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
static/custom/css/index.css | 41 ++++++++++++++++++++---------------
static/img/arrow/1.png | Bin 10704 -> 3311 bytes
static/img/arrow/11.png | Bin 5586 -> 0 bytes
static/img/arrow/2.png | Bin 1908 -> 1148 bytes
static/img/arrow/222 (2).png | Bin 0 -> 1908 bytes
static/img/arrow/222.png | Bin 1297 -> 0 bytes
static/img/arrow/3.png | Bin 12122 -> 6874 bytes
static/img/arrow/33.png | Bin 3384 -> 0 bytes
static/img/arrow/333.png | Bin 0 -> 12122 bytes
static/img/arrow/4.png | Bin 10546 -> 3703 bytes
static/img/arrow/44.png | Bin 5316 -> 0 bytes
static/img/arrow/444.png | Bin 0 -> 10546 bytes
static/img/arrow/5.png | Bin 5360 -> 1647 bytes
static/img/arrow/55.png | Bin 7086 -> 0 bytes
static/img/arrow/555.png | Bin 0 -> 5360 bytes
static/img/arrow/6.png | Bin 34162 -> 3503 bytes
static/img/arrow/666.png | Bin 0 -> 34162 bytes
static/img/arrow/分组 79.png | Bin 0 -> 356 bytes
18 files changed, 23 insertions(+), 18 deletions(-)
delete mode 100644 static/img/arrow/11.png
create mode 100644 static/img/arrow/222 (2).png
delete mode 100644 static/img/arrow/222.png
delete mode 100644 static/img/arrow/33.png
create mode 100644 static/img/arrow/333.png
delete mode 100644 static/img/arrow/44.png
create mode 100644 static/img/arrow/444.png
delete mode 100644 static/img/arrow/55.png
create mode 100644 static/img/arrow/555.png
create mode 100644 static/img/arrow/666.png
create mode 100644 static/img/arrow/分组 79.png
diff --git a/static/custom/css/index.css b/static/custom/css/index.css
index 543184a..75fa817 100644
--- a/static/custom/css/index.css
+++ b/static/custom/css/index.css
@@ -1525,7 +1525,7 @@
.YJ-custom-base-dialog>.content .cy_datalist dl dd.active {
color: rgba(var(--color-sdk-base-rgb)) !important;
- background-color: rgba(var(--color-sdk-base-rgb), 0.2);
+ /* background-color: rgba(var(--color-sdk-base-rgb), 0.2); */
}
.YJ-custom-base-dialog>.content .cy_datalist dl dd.active svg {
@@ -2699,21 +2699,21 @@
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.icon {
display: inline-block;
width: 22px;
- height: 10px;
- margin-right: 5px;
+ height: 13px;
+ margin-right: 7px;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.line {
- border: 1px solid rgba(255, 255, 255, 1);
+ border: 1px solid rgba(var(--color-sdk-base-rgb), 1);
height: 0px;
margin-top: 4px;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.dash-line {
- border: 1px dashed rgba(255, 255, 255, 1);
+ border: 1px dashed rgba(var(--color-sdk-base-rgb), 1);
height: 0px;
margin-top: 4px;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.light-line {
- border: 1px solid rgba(255, 255, 255, 1);
+ border: 1px solid rgba(var(--color-sdk-base-rgb), 1);
height: 0px;
margin-top: 4px;
box-shadow: 0 0 3px #fff
@@ -2727,34 +2727,39 @@
background-size: 100% 100%;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.flow-dash-line1 {
- border: 1px dashed rgba(255, 255, 255, 1);
+ border: 1px dashed rgba(var(--color-sdk-base-rgb), 1);
height: 0px;
margin-top: 4px;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.flow-dash-line2 {
- border: 1px dashed rgba(255, 255, 255, 1);
+ border: 1px dashed rgba(var(--color-sdk-base-rgb), 1);
height: 0px;
margin-top: 4px;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line1 {
- background: url(../../img/arrow/1.png) 100% 100% no-repeat;
- background-size: 100% 100%;
+ background: url(../../img/arrow/1.png);
+ background-size: cover;
+ background-position: center;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line2 {
- background: url(../../img/arrow/2.png) 100% 100% no-repeat;
- background-size: 100% 100%;
+ background: url(../../img/arrow/2.png);
+ background-size: cover;
+ background-position: center;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line3 {
- background: url(../../img/arrow/3.png) 100% 100% no-repeat;
- background-size: 100% 100%;
+ background: url(../../img/arrow/3.png);
+ background-size: cover;
+ background-position: center;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line4 {
- background: url(../../img/arrow/4.png) 100% 100% no-repeat;
- background-size: 100% 100%;
+ background: url(../../img/arrow/4.png) ;
+ background-size: cover;
+ background-position: center;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line5 {
- background: url(../../img/arrow/5.png) 100% 100% no-repeat;
- background-size: 100% 100%;
+ background: url(../../img/arrow/5.png);
+ background-size: cover;
+ background-position: center;
}
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line6 {
background: url(../../img/arrow/6.png) 100% 100% no-repeat;
diff --git a/static/img/arrow/1.png b/static/img/arrow/1.png
index 62d84a0e37a0c2b7fcd20dc6b0042bb9cabb722c..0a4a5ae085b71d74bca5876abbe58f5593e73b91 100644
GIT binary patch
literal 3311
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
literal 10704
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