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