From 1b22efb7fa9d35c531e5f4ff2e6d600c23a6546d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 30 Jun 2021 10:36:35 +0800
Subject: [PATCH] 左边导航更改
---
config.json | 2
widgets/BOXInteractive/css/style.css | 2
widgets/LeftNavigationBar/Widget.html | 5
widgets/crossTailoring/Widget.js | 329 +++++++++++++++++++++++++++
widgets/instructions/css/style.css | 4
widgets/BOXInteractive/Widget.js | 2
widgets/LeftNavigationBar/Widget.js | 74 +++++-
widgets/LeftNavigationBar/css/style.css | 86 +++++--
widgets/BOXTailoring/Widget.html | 1
widgets/spatialAnalysis/css/style.css | 2
widgets/crossTailoring/css/style.css | 70 +++++
widgets/BOXTailoring/Widget.js | 7
widgets/spatialAnalysis/Widget.js | 32 ++
widgets/crossTailoring/Widget.html | 37 +-
widgets/BOXTailoring/css/style.css | 43 +++
images/addL/目录树.png | 0
16 files changed, 615 insertions(+), 81 deletions(-)
diff --git a/config.json b/config.json
index 0fbd4da..fa25648 100644
--- a/config.json
+++ b/config.json
@@ -292,7 +292,7 @@
},
{
"name": "Cross裁剪",
- "uri": "widgets/BOXInteractive/Widget"
+ "uri": "widgets/crossTailoring/Widget"
}
],
"groups": [],
diff --git "a/images/addL/\347\233\256\345\275\225\346\240\221.png" "b/images/addL/\347\233\256\345\275\225\346\240\221.png"
new file mode 100644
index 0000000..6142c6f
--- /dev/null
+++ "b/images/addL/\347\233\256\345\275\225\346\240\221.png"
Binary files differ
diff --git a/widgets/BOXInteractive/Widget.js b/widgets/BOXInteractive/Widget.js
index 146379b..4f11b1b 100644
--- a/widgets/BOXInteractive/Widget.js
+++ b/widgets/BOXInteractive/Widget.js
@@ -28,7 +28,7 @@
})
- that.beginBOXInteractive();
+ // that.beginBOXInteractive();
},
beginBOXInteractive: function () {
diff --git a/widgets/BOXInteractive/css/style.css b/widgets/BOXInteractive/css/style.css
index 985dadf..f5d1a5f 100644
--- a/widgets/BOXInteractive/css/style.css
+++ b/widgets/BOXInteractive/css/style.css
@@ -9,7 +9,7 @@
color: rgb(0, 0, 0);
z-index: 12 !important;
border-radius: 10px;
- /* display: none; */
+ display: none;
box-shadow: 0 0 8px #fff;
padding: 0px 5px !important;
}
diff --git a/widgets/BOXTailoring/Widget.html b/widgets/BOXTailoring/Widget.html
index 586336e..dcb6ec3 100644
--- a/widgets/BOXTailoring/Widget.html
+++ b/widgets/BOXTailoring/Widget.html
@@ -1,4 +1,5 @@
<div>
+ <div id="heardbarBOXTailoring"> <span>BOX裁剪-</span> <span id="namebarBOXTailoring">name</span> </div>
<div id="cesiumContainer"></div>
<div id='loadingbarBOXTailoring' class="spinner">
<div class="spinner-container container1">
diff --git a/widgets/BOXTailoring/Widget.js b/widgets/BOXTailoring/Widget.js
index d93be86..32d0a1f 100644
--- a/widgets/BOXTailoring/Widget.js
+++ b/widgets/BOXTailoring/Widget.js
@@ -89,6 +89,13 @@
$("#customBOXTailoring").unbind("click");
$("#clearboxBOXTailoring").unbind("click");
var that = this;
+
+ var heardsname = $('#namebarBOXTailoring');
+ heardsname.empty();
+ heardsname.append(pro.ZName);
+ heardsname = $('#heardbarBOXTailoring');
+ heardsname.attr("title", pro.ZName);;
+
var promise = window.mySanweiShujuOpens[pro.id];
// var promise = window.mySanweiShujuOpens;
// console.log(pro.ZName);
diff --git a/widgets/BOXTailoring/css/style.css b/widgets/BOXTailoring/css/style.css
index 2c2de0d..374bc99 100644
--- a/widgets/BOXTailoring/css/style.css
+++ b/widgets/BOXTailoring/css/style.css
@@ -26,7 +26,7 @@
color: red;
}
-.jimu-widget-BOXTailoring button{
+.jimu-widget-BOXTailoring button {
line-height: 30px;
/* width: 80px; */
height: 30px;
@@ -42,14 +42,44 @@
box-shadow: 2px 2px 25px -5px #1679eb;
}
-.jimu-widget-BOXTailoring #lengthBOXTailoring
-,.jimu-widget-BOXTailoring #widthBOXTailoring
-,.jimu-widget-BOXTailoring #heightBOXTailoring
-,.jimu-widget-BOXTailoring #rotateBOXTailoring{
+.jimu-widget-BOXTailoring #heardbarBOXTailoring {
+ width: calc(100% + 12px);
+ position: relative;
+ left: -6px;
+ /* border: 1px solid salmon; */
+ height: 40px;
+ background-color: #39A5FD;
+ border-radius: 5px 5px 0 0;
+ line-height: 40px;
+ padding-left: 16px;
+ color: #fff;
+ font-weight: 500;
+ /* font-size: 20px; */
+}
+
+.jimu-widget-BOXTailoring #heardbarBOXTailoring span:first-child {
+ display: inline-block;
+ position: relative;
+ top: -15px;
+}
+
+.jimu-widget-BOXTailoring #heardbarBOXTailoring #namebarBOXTailoring {
+ width: 100px;
+ /* border: 1px solid salmon; */
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ height: 40px;
+}
+
+.jimu-widget-BOXTailoring #lengthBOXTailoring, .jimu-widget-BOXTailoring #widthBOXTailoring, .jimu-widget-BOXTailoring #heightBOXTailoring, .jimu-widget-BOXTailoring #rotateBOXTailoring {
width: 180px;
}
.jimu-widget-BOXTailoring #toolbarBOXTailoring {
+ position: relative;
+ top: -20px;
width: 100%;
height: calc(100% - 30px);
margin-top: 20px;
@@ -58,4 +88,5 @@
align-items: center;
flex-direction: column;
justify-content: space-around;
-}
+ padding-bottom: 10px;
+}
\ No newline at end of file
diff --git a/widgets/LeftNavigationBar/Widget.html b/widgets/LeftNavigationBar/Widget.html
index 2ebcffe..055a16b 100644
--- a/widgets/LeftNavigationBar/Widget.html
+++ b/widgets/LeftNavigationBar/Widget.html
@@ -1,6 +1,9 @@
<div>
- <div class="left-navigation-bar-but">
+ <!-- <div class="left-navigation-bar-but">
<img class="l-n-b-b-img" src="./images/addL/xzuo.png" alt="">
+ </div> -->
+ <div class="left-navigation-bar-but">
+ <img class="l-n-b-b-img" src="./images/addL/目录树.png" alt="">
</div>
<div class="left-navigation-bar-main">
<!-- <ul id="treeDemo" class="ztree"></ul> -->
diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 2d557da..3f0af57 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -34,24 +34,72 @@
var that = this;
this.getData();
+ // $('.left-navigation-bar-but').click(() => {
+ // this.changeImg = !this.changeImg;
+ // if (this.changeImg) {
+ // $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开
+ // $('.jimu-widget-LeftNavigationBar').css({
+ // 'left': '0px'
+ // });
+ // $('.jimu-widget-instructions').css({
+ // 'left': '260px'
+ // });
+ // } else {
+ // $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭
+ // $('.jimu-widget-LeftNavigationBar').css({
+ // 'left': '-250px'
+ // });
+ // $('.jimu-widget-instructions').css({
+ // 'left': '10px'
+ // });
+ // }
+ // })
+ var time = null;
$('.left-navigation-bar-but').click(() => {
this.changeImg = !this.changeImg;
if (this.changeImg) {
- $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开
- $('.jimu-widget-LeftNavigationBar').css({
- 'left': '0px'
+ if (time != null) {
+ clearTimeout(time);
+ time = null;
+ }
+ // $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开
+ $('.left-navigation-bar-main').css({
+ 'display': 'block',
+ 'width': '300px',
+ 'padding': '10px',
+ 'height': 'auto',
});
- $('.jimu-widget-instructions').css({
- 'left': '260px'
- });
+ $('.l-n-b-m-search').css({
+ 'display': 'flex',
+ })
+ $('#left-tree-list').css({
+ 'display': 'block',
+ })
+
} else {
- $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭
- $('.jimu-widget-LeftNavigationBar').css({
- 'left': '-250px'
+ // $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭
+ $('.l-n-b-m-search').css({
+ 'display': 'none',
+ })
+ $('#left-tree-list').css({
+ 'display': 'none',
+ })
+ $('.left-navigation-bar-main').css({
+ 'width': '0px',
+ 'padding': '0px',
+ 'height': '0px',
});
- $('.jimu-widget-instructions').css({
- 'left': '10px'
- });
+ if (time != null) {
+ clearTimeout(time);
+ time = null;
+ }
+ time = setTimeout(() => {
+ $('.left-navigation-bar-main').css({
+ 'display': 'none'
+ });
+ clearTimeout(time);
+ time = null;
+ }, 500);
}
})
@@ -388,7 +436,7 @@
that[item.id] = scene.open(host + partOfUrl, undefined, {
autoSetView: false //不自动定位
});
-
+
window.mySanweiShujuOpens[item.id] = that[item.id];
// console.log(222)
topic.publish('appendTilt', 'Layermanagement', item);
diff --git a/widgets/LeftNavigationBar/css/style.css b/widgets/LeftNavigationBar/css/style.css
index 8fb6b6f..8de1403 100644
--- a/widgets/LeftNavigationBar/css/style.css
+++ b/widgets/LeftNavigationBar/css/style.css
@@ -1,9 +1,9 @@
.jimu-widget-LeftNavigationBar {
position: absolute !important;
/* font-size: 14px; */
- height: 100% !important;
+ height: 0 !important;
/* height: calc(100%) !important; */
- width: 250px !important;
+ width: 0 !important;
right: auto !important;
bottom: auto !important;
/* left: -250px !important; */
@@ -16,7 +16,7 @@
border-radius: 6px 6px 6px 6px;
/* text-align : center; */
/* cursor : pointer; */
- z-index: 16 !important;
+ /* z-index: -10 !important; */
box-sizing: border-box;
/* padding: 0 20px 0 20px!important; */
/* display: flex;
@@ -24,18 +24,18 @@
justify-content: center; */
box-shadow: 5px 5px 13px -10px rgba(0, 0, 0, .5);
transition: all 0.5s;
+ /* display: none; */
}
+/*
.jimu-widget-LeftNavigationBar .left-navigation-bar-but {
width: 23px;
height: 60px;
- /* border: 1px solid springgreen; */
border-radius: 0 10px 10px 0;
display: flex;
align-items: center;
justify-content: center;
position: relative;
- /* left: calc((100% + 23px) / 2); */
left: calc(100% - 1px);
top: calc(50%);
background-color: #fff;
@@ -43,28 +43,61 @@
cursor: pointer;
float: left;
z-index: 17 !important;
+}*/
+
+.jimu-widget-LeftNavigationBar .left-navigation-bar-but {
+ background: #fff;
+ box-shadow: 0 0 8px #fff;
+ width: 32px;
+ height: 32px;
+ border-radius: 14%;
+ padding: 0;
+ vertical-align: middle;
+ z-index: 0;
+ box-sizing: border-box;
+ display: inline-block;
+ position: fixed;
+ border: 1px solid #444;
+ border-color: #fff;
+ fill: #edffff;
+ margin: 1px 2px;
+ cursor: pointer;
+ overflow: hidden;
+ user-select: none;
+ top: 72px;
+ left: 10px;
+ z-index: 16 !important;
}
.jimu-widget-LeftNavigationBar .left-navigation-bar-but img {
- width: 20px;
+ width: 30px;
}
.jimu-widget-LeftNavigationBar .left-navigation-bar-main {
- position: relative;
- width: 100%;
- height: 100%;
- padding: 10px;
+ position: fixed;
+
+ width: 0px;
+ height: 0px;
+ /* height: 200px; */
+ /* max-height: 1000px; */
+ padding: 0px;
+
+ background-color: #fff;
+ z-index: 15 !important;
+ top: 72px;
+ left: 60px;
+ border-radius: 5px;
+ box-shadow: 0 0 8px #fff;
+ transition: all 0.5s;
+ display: none;
/* border: 1px saddlebrown solid; */
}
-.jimu-widget-LeftNavigationBar #test1 {
- margin-top: 20px;
-}
-
.jimu-widget-LeftNavigationBar .left-navigation-bar-main .l-n-b-m-search {
- position: absolute;
- top: 16px;
+ /* position: relative; */
+ /* top: 16px; */
width: calc(100% - 20px);
+ margin: 0 0 20px 10px;
height: 40px;
/* padding: 10px; */
border: 1px rgba(0, 0, 0, .2) solid;
@@ -109,15 +142,16 @@
}
.jimu-widget-LeftNavigationBar .left-navigation-bar-main #left-tree-list {
- position: absolute;
- top: 72px;
+ /* position: relative; */
+ /* top: 72px; */
width: calc(100% - 20px);
- height: calc(100% - 82px);
+ /* height: calc(100% - 82px); */
+ margin: 0 0 5px 10px;
+ max-height: 300px;
overflow-y: auto;
overflow-x: hidden;
+ /* border: 1px saddlebrown solid; */
}
-
-
.jimu-widget-LeftNavigationBar .left-navigation-bar-main #test1 {
height: calc(100% - 58px);
@@ -127,7 +161,6 @@
.jimu-widget-LeftNavigationBar .left-navigation-bar-main .layui-tree-entry {
height: auto !important;
}
-
.left-navigation-bar-main-down:after {
content: "";
@@ -149,11 +182,12 @@
background-color: #2ab9ec
}
-.layui-form-checked[lay-skin=primary] i{
+.layui-form-checked[lay-skin=primary] i {
background-color: #36A0FD !important;
}
-.layui-tree-spread .layui-tree-iconArrow:after{
- border-color: #c0c4cc transparent transparent transparent !important;
+
+.layui-tree-spread .layui-tree-iconArrow:after {
+ border-color: #c0c4cc transparent transparent transparent !important;
}
.jimu-widget-LeftNavigationBar .layui-tree-main {
@@ -164,6 +198,6 @@
.jimu-widget-LeftNavigationBar .layui-tree-txt {
width: calc(100% - 28px);
overflow: hidden;
- text-overflow:ellipsis;
+ text-overflow: ellipsis;
white-space: nowrap;
}
\ No newline at end of file
diff --git a/widgets/crossTailoring/Widget.html b/widgets/crossTailoring/Widget.html
index a7feb44..e80f36b 100644
--- a/widgets/crossTailoring/Widget.html
+++ b/widgets/crossTailoring/Widget.html
@@ -1,44 +1,45 @@
<div>
- crossTailoring
- <div id="toolbar" class="params-setting-container">
- <div class="params-setting-anchor" title="显示/隐藏参数面板"><span class="fui-expand"></span></div>
+ <div id="heardbarcrossTailoring"> <span>Cross裁剪-</span> <span id="namebarcrossTailoring">name</span> </div>
+ <!-- crossTailoring -->
+ <div id="toolbarcrossTailoring" class="params-setting-container">
+ <!-- <div class="params-setting-anchor" title="显示/隐藏参数面板"><span class="fui-expand"></span></div> -->
<div class="params-setting">
<table>
<tbody>
<tr>
<td><label>裁剪宽度:</label></td>
<td>
- <input type="range" id="clip-width" min="1" max="100" step="1" data-bind="value: width, valueUpdate: 'input'">
+ <div class="sliders" id="widthcrossTailoring"></div>
</td>
<td>
- <input type="number" id="clip-width-label" min="1" max="100" step="1" data-bind="value: width, valueUpdate: 'input'" />
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-width-label" />
</td>
</tr>
<tr>
<td><label>裁剪高度:</label></td>
<td>
- <input type="range" id="clip-height" min="1" max="100" step="1" data-bind="value: height, valueUpdate: 'input'">
+ <div class="sliders" id="heightcrossTailoring"></div>
</td>
<td>
- <input type="number" id="clip-height-label" min="1" max="100" step="1" data-bind="value: height, valueUpdate: 'input'" />
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-height-label" />
</td>
</tr>
<tr>
<td><label>绕X轴旋转:</label></td>
<td>
- <input id="pitch" type="range" min="0" max="360" step="1.0" data-bind="value: pitch, valueUpdate: 'input'">
+ <div class="sliders" id="pitchcrossTailoring"></div>
</td>
<td>
- <input type="number" min="0" max="360" step="1" data-bind="value: pitch, valueUpdate: 'input'">
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-pitch-label" />
</td>
</tr>
<tr>
<td><label>绕Y轴旋转:</label></td>
<td>
- <input id="roll" type="range" min="0" max="360" step="1.0" data-bind="value: roll, valueUpdate: 'input'">
+ <div class="sliders" id="rollcrossTailoring"></div>
</td>
<td>
- <input type="number" min="0" max="360" step="1.0" data-bind="value: roll, valueUpdate: 'input'">
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-roll-label" />
</td>
</tr>
<tr>
@@ -46,25 +47,27 @@
<label>绕Z轴旋转:</label>
</td>
<td>
- <input id="heading" type="range" min="0" max="360" step="1.0" data-bind="value: heading, valueUpdate: 'input'">
+ <div class="sliders" id="headingcrossTailoring"></div>
</td>
<td>
- <input type="number" min="0" max="360" step="1.0" data-bind="value: heading, valueUpdate: 'input'">
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-heading-label" />
</td>
</tr>
<tr>
<td><label>拉伸:</label></td>
<td>
- <input id="extrude" type="range" min="0.1" max="30" step="0.1" data-bind="value: extrudeDistance, valueUpdate: 'input'">
+ <div class="sliders" id="extrudecrossTailoring"></div>
</td>
<td>
- <input type="number" min="0.1" max="30" step="0.5" data-bind="value: extrudeDistance, valueUpdate: 'input'">
+ <input readonly="readonly" class="slidersNum" type="text" id="clip-extrude-label" />
</td>
</tr>
<tr>
<td colspan="3">
- <input type="button" id="choose-clip-pos" class="button black" value="选取裁剪位置" />
- <input type="button" id="clear" class="button black" value="清除" style="margin-left: 10px;" />
+ <input type="button" id="choose-clip-poscrossTailoring" class="button black"
+ value="选取裁剪位置" />
+ <input type="button" id="clearcrossTailoring" class="button black" value="清除"
+ style="margin-left: 10px;" />
</td>
</tr>
</tbody>
diff --git a/widgets/crossTailoring/Widget.js b/widgets/crossTailoring/Widget.js
index 1c72023..babebb0 100644
--- a/widgets/crossTailoring/Widget.js
+++ b/widgets/crossTailoring/Widget.js
@@ -26,19 +26,340 @@
$(`.${that.baseClass}`).hide();
that.closescrossTailoring();
})
-
-
- that.begincrossTailoring();
+ that.defaultSlider();
+ // that.begincrossTailoring();
},
- begincrossTailoring: function () {
+ defaultSlider: function () {
+ var that = this;
+ that.promise = '';
+ layui.use(function () {
+ var slider = layui.slider //滑块
+ //滑块
+ var sliderInst1 = slider.render({
+ elem: '#widthcrossTailoring'
+ , value: that.Owidth
+ , disabled: true
+ });
+ var sliderInst2 = slider.render({
+ elem: '#heightcrossTailoring'
+ , value: that.Oheight
+ , disabled: true
+ });
+ var sliderInst3 = slider.render({
+ elem: '#pitchcrossTailoring'
+ , value: that.Opitch
+ , max: 360
+ , disabled: true
+ });
+ var sliderInst4 = slider.render({
+ elem: '#rollcrossTailoring'
+ , value: that.Oroll
+ , max: 360
+ , disabled: true
+ });
+ var sliderInst4 = slider.render({
+ elem: '#headingcrossTailoring'
+ , value: that.Oheading
+ , max: 360
+ , disabled: true
+ });
+ var sliderInst4 = slider.render({
+ elem: '#extrudecrossTailoring'
+ , value: that.OextrudeDistance
+ , max: 30
+ , disabled: true
+ });
+ })
+
+ $('#clip-width-label').val(that.Owidth);
+ $('#clip-height-label').val(that.Oheight);
+ $('#clip-heading-label').val(that.Oheading);
+ $('#clip-pitch-label').val(that.Opitch);
+ $('#clip-roll-label').val(that.Oroll);
+ $('#clip-extrude-label').val(that.OextrudeDistance);
+
+ },
+ Owidth: 5,
+ Oheight: 5,
+ Oheading: 0,
+ Opitch: 0,
+ Oroll: 0,
+ OextrudeDistance: 1.0,
+ begincrossTailoring: function (pro) {
console.log(`${this.name}--kaishi`);
var that = this;
+ // console.log(pro.src)
+ // return
+ var heardsname = $('#namebarcrossTailoring');
+ heardsname.empty();
+ heardsname.append(pro.ZName);
+ heardsname = $('#heardbarcrossTailoring');
+ heardsname.attr("title", pro.ZName);;
+
+
+ var viewer = that.map;
+
+ var scene = viewer.scene;
+ scene.globe.depthTestAgainstTerrain = false;
+
+
+ that.promise = window.mySanweiShujuOpens[pro.id];
+
+ console.log(pro.id)
+ console.log(that.promise)
+ // that.promise = scene.open(window.MYURL_CONFIG.SCENE_BIMBUILDING);
+ that.promise.then(function (layers) {
+ // 精准定位
+ // scene.camera.setView({
+ // destination: new Cesium.Cartesian3(-2180765.6717242915, 4379147.755349731, 4092644.516292509),
+ // orientation: {
+ // heading: 1.5751279310014885,
+ // pitch: -1.493948327772495,
+ // roll: 3.1415926535996626
+ // }
+ // });
+ // var actives = function(){
+ var boxPosition, position, dim,
+ width = that.Owidth,
+ height = that.Oheight,
+ heading = that.Oheading,
+ pitch = that.Opitch,
+ roll = that.Oroll,
+ extrudeDistance = that.OextrudeDistance,
+ hasClipped = false;
+ that.startClip = false;
+ that.box = viewer.entities.add({ // 标识盒
+ position: Cesium.Cartesian3.fromDegrees(0, 0, 0),
+ show: false,
+ box: {
+ dimensions: new Cesium.Cartesian3(5, 5, 0.1),
+ fill: false,
+ outline: true,
+ outlineColor: Cesium.Color.WHITE,
+ outlineWidth: 5.0
+ }
+ });
+
+ $("#choose-clip-poscrossTailoring").on("click", function () {
+ if (that.handler) {
+ that.handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ that.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ that.handler = '';
+ }
+ that.handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
+ that.handler.setInputAction(function (movement) {
+ if (that.startClip) {
+ boxPosition = scene.pickPosition(movement.endPosition);
+ if (!boxPosition) {
+ return;
+ }
+ that.box.position = boxPosition;
+ }
+ }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+
+ that.handler.setInputAction(function (evt) {
+ if (that.startClip) {
+ position = scene.pickPosition(evt.position);
+ if (!position) {
+ return;
+ }
+ var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
+ that.box.orientation = orientation;
+ dim = new Cesium.Cartesian3(width, height, extrudeDistance);
+ updateClip();
+ that.startClip = false;
+ hasClipped = true;
+ that.box.show = false;
+ viewer.enableCursorStyle = true;
+ $('body').removeClass('drawCurshizi');
+ that.handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ that.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ }
+ }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ // $("#choose-clip-poscrossTailoring").on("click", function () {
+ layui.use(function () {
+ var slider = layui.slider //滑块
+ //滑块
+ var sliderInst1 = slider.render({
+ elem: '#widthcrossTailoring'
+ // , input: true //输入框
+ , value: that.Owidth
+ , disabled: false
+ , change: function (value) {
+ width = Number(value);
+ that.Owidth = Number(value);
+ $('#clip-width-label').val(value);
+ that.box.box.dimensions = new Cesium.Cartesian3(width, height, 0.1);
+ dim = new Cesium.Cartesian3(width, height, extrudeDistance);
+ if (!position) {
+ return;
+ }
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+
+ var sliderInst2 = slider.render({
+ elem: '#heightcrossTailoring'
+ // , input: true //输入框
+ , value: that.Oheight
+ , disabled: false
+ , change: function (value) {
+ height = Number(value);
+ that.Oheight = Number(value);
+ $('#clip-height-label').val(value);
+ that.box.box.dimensions = new Cesium.Cartesian3(width, height, 0.1);
+ dim = new Cesium.Cartesian3(width, height, extrudeDistance);
+ if (!position) {
+ return;
+ }
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+ var sliderInst3 = slider.render({
+ elem: '#headingcrossTailoring'
+ // , input: true //输入框
+ , value: that.Oheading
+ , max: 360
+ , disabled: false
+ , change: function (value) {
+ heading = Number(value);
+ that.Oheading = Number(value);
+ $('#clip-heading-label').val(value);
+ var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr);
+ that.box.orientation = orientation;
+ if (!position) {
+ return;
+ }
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+ var sliderInst4 = slider.render({
+ elem: '#pitchcrossTailoring'
+ // , input: true //输入框
+ , value: that.Opitch
+ , max: 360
+ , disabled: false
+ , change: function (value) {
+ pitch = Number(value);
+ that.Opitch = Number(value);
+ $('#clip-pitch-label').val(value);
+ var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr);
+ that.box.orientation = orientation;
+ if (!position) {
+ return;
+ }
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+ var sliderInst5 = slider.render({
+ elem: '#rollcrossTailoring'
+ // , input: true //输入框
+ , value: that.Oroll
+ , max: 360
+ , disabled: false
+ , change: function (value) {
+ roll = Number(value);
+ that.Oroll = Number(value);
+ $('#clip-roll-label').val(value);
+ var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(boxPosition, hpr);
+ that.box.orientation = orientation;
+ if (!position) {
+ return;
+ }
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+ var sliderInst6 = slider.render({
+ elem: '#extrudecrossTailoring'
+ // , input: true //输入框
+ , value: that.OextrudeDistance
+ , max: 30
+ , step: 0.1
+ , disabled: false
+ , change: function (value) {
+ extrudeDistance = Number(value);
+ that.OextrudeDistance = Number(value);
+ $('#clip-extrude-label').val(value);
+ if (hasClipped) {
+ updateClip();
+ }
+ }
+ });
+ })
+ // }
+
+ // $("#choose-clip-poscrossTailoring").on("click", function () {
+ that.startClip = true;
+ that.box.show = true;
+ // actives();
+ viewer.enableCursorStyle = false;
+ viewer._element.style.cursor = '';
+ $('body').removeClass('drawCurshizi').addClass('drawCurshizi');
+ });
+ $("#clearcrossTailoring").on("click", function () {
+ // that.startClip = false;
+ // that.box.show = false;
+ // for (var i = 0, j = layers.length; i < j; i++) {
+ // layers[i].clearCustomClipBox();
+ // };
+ // viewer.entities.removeAll();
+ that.closescrossTailoring();
+ });
+
+ // 折叠参数面板
+ $(".params-setting-anchor").click(function () {
+ $(".params-setting").toggleClass("params-setting-hide");
+ });
+
+ function updateClip() {
+ for (var i = 0, j = layers.length; i < j; i++) {
+ layers[i].setCustomClipCross({
+ position: position,
+ dimensions: dim,
+ heading: heading,
+ pitch: pitch,
+ roll: roll,
+ extrudeDistance: extrudeDistance
+ });
+ }
+ }
+ });
},
+ handler: '',
+ box: '',
+ startClip: false,
+ promise: 'null',
closescrossTailoring: function (froms) {
console.log(`${this.name}--guanbi`);
var that = this;
+ console.log(that.promise, 45343463)
+ that.startClip = false;
+ that.box.show = false;
+ if (that.promise != 'null') {
+ that.promise.then(function (layers) {
+ for (var i = 0, j = layers.length; i < j; i++) {
+ layers[i].clearCustomClipBox();
+ };
+ });
+ that.map.entities.removeAll();
+ }
+ that.defaultSlider();
},
onOpen: function () {
diff --git a/widgets/crossTailoring/css/style.css b/widgets/crossTailoring/css/style.css
index b301115..8c22d82 100644
--- a/widgets/crossTailoring/css/style.css
+++ b/widgets/crossTailoring/css/style.css
@@ -2,14 +2,14 @@
position: fixed !important;
top: 72px !important;
right: 388px !important;
- width: 200px !important;
- height: 40px !important;
+ width: 280px !important;
+ height: 330px !important;
background-color: rgb(255, 255, 255);
font-size: 14px;
color: rgb(0, 0, 0);
z-index: 12 !important;
border-radius: 10px;
- /* display: none; */
+ display: none;
box-shadow: 0 0 8px #fff;
padding: 0px 5px !important;
}
@@ -26,17 +26,71 @@
color: red;
}
-/* .jimu-widget-crossTailoring .but {
+.jimu-widget-crossTailoring .button {
line-height: 30px;
- width: 80px;
+ /* width: 80px; */
height: 30px;
font-size: 14px;
border-radius: 5px;
box-shadow: 2px 2px 15px -5px #378ef1;
- border: 1px solid transparent;
+ border: 1px solid transparent;
background-color: #fff;
+ padding: 0 8px;
+ position: relative;
+ left: 50px;
+ top: 10px;
}
-.jimu-widget-crossTailoring .but:hover {
+.jimu-widget-crossTailoring #heardbarcrossTailoring {
+ width: calc(100% + 12px);
+ position: relative;
+ left: -6px;
+ /* border: 1px solid salmon; */
+ height: 40px;
+ background-color: #39A5FD;
+ border-radius: 5px 5px 0 0;
+ line-height: 40px;
+ padding-left: 16px;
+ color: #fff;
+ font-weight: 500;
+ /* font-size: 20px; */
+}
+
+.jimu-widget-crossTailoring #heardbarcrossTailoring span:first-child {
+ display: inline-block;
+ position: relative;
+ top: -15px;
+}
+
+.jimu-widget-crossTailoring #heardbarcrossTailoring #namebarcrossTailoring {
+ width: 170px;
+ /* border: 1px solid salmon; */
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ height: 40px;
+}
+
+.jimu-widget-crossTailoring .button:hover {
box-shadow: 2px 2px 25px -5px #1679eb;
-} */
\ No newline at end of file
+}
+
+.jimu-widget-crossTailoring .sliders {
+ width: 150px;
+}
+
+.jimu-widget-crossTailoring .slidersNum {
+ width: 28px;
+}
+
+.jimu-widget-crossTailoring #toolbarcrossTailoring {
+ position: absolute;
+ top: 50px;
+}
+
+.jimu-widget-crossTailoring #toolbarcrossTailoring tr {
+ width: 100%;
+ height: 35px;
+ /* padding: 20px 0; */
+}
\ No newline at end of file
diff --git a/widgets/instructions/css/style.css b/widgets/instructions/css/style.css
index b13f407..935c8c6 100644
--- a/widgets/instructions/css/style.css
+++ b/widgets/instructions/css/style.css
@@ -6,8 +6,8 @@
/* min-width: 160px !important; */
right: auto !important;
bottom: auto !important;
- left: 260px;
- top: 40px !important;
+ left: 60px !important;
+ top: 20px !important;
/* 240px */
background: rgba(255, 255, 255, 1);
color: #fff;
diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index d7dc5dc..564477b 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -86,6 +86,12 @@
classs: 'BOXTailoring-tool',
img: './images/addL/BOX裁剪.png'
}
+ ,
+ {//Cross裁剪
+ name: 'Cross裁剪',
+ classs: 'crossTailoring-tool',
+ img: './images/addL/BOX裁剪.png'
+ }
];
that.beginSpatialAnalysis(domHtmls);
@@ -313,6 +319,20 @@
}
})
+ //Cross裁剪
+ $('.crossTailoring-tool').click(function () {
+ that.closeOnceUse();
+
+ if (that.promise == 'NODATA') {
+ layer.tips('请选择三维倾斜数据中的图层支持!', '.SelectLayerTool', {
+ tips: [3, 'red']
+ });
+ } else {
+ $(".jimu-widget-crossTailoring").show();
+ topic.publish('begincrossTailoring', that.promise);
+ }
+ })
+
$('.SelectLayerTool').click(() => {
$('#SelectLayerToolItem').toggle();
})
@@ -346,6 +366,12 @@
if ($(".jimu-widget-BOXTailoring").is(":visible")) {//判断是否隐藏
$(".jimu-widget-BOXTailoring").hide();
topic.publish('closesBOXTailoring');
+ }
+
+ //关闭Cross裁剪
+ if ($(".jimu-widget-crossTailoring").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-crossTailoring").hide();
+ topic.publish('closescrossTailoring');
}
},
liClick: function (itemid, name, ourdata = 1) {//点击事件
@@ -585,6 +611,12 @@
topic.publish('closesBOXTailoring');
}
+ //关闭Cross裁剪
+ if ($(".jimu-widget-crossTailoring").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-crossTailoring").hide();
+ topic.publish('closescrossTailoring');
+ }
+
},
onOpen: function () {
},
diff --git a/widgets/spatialAnalysis/css/style.css b/widgets/spatialAnalysis/css/style.css
index 3689824..c4a58bb 100644
--- a/widgets/spatialAnalysis/css/style.css
+++ b/widgets/spatialAnalysis/css/style.css
@@ -1,7 +1,7 @@
.jimu-widget-spatialAnalysis {
position: absolute !important;
font-size: 14px;
- height: 398px !important;
+ height: 408px !important;
width: 318px !important;
/* 240px */
background: rgb(254, 254, 254);
--
Gitblit v1.9.3