liuyg
2021-06-30 1b22efb7fa9d35c531e5f4ff2e6d600c23a6546d
左边导航更改
15 files modified
1 files added
678 ■■■■ changed files
config.json 2 ●●● patch | view | raw | blame | history
images/addL/目录树.png patch | view | raw | blame | history
widgets/BOXInteractive/Widget.js 2 ●●● patch | view | raw | blame | history
widgets/BOXInteractive/css/style.css 2 ●●● patch | view | raw | blame | history
widgets/BOXTailoring/Widget.html 1 ●●●● patch | view | raw | blame | history
widgets/BOXTailoring/Widget.js 7 ●●●●● patch | view | raw | blame | history
widgets/BOXTailoring/css/style.css 39 ●●●● patch | view | raw | blame | history
widgets/LeftNavigationBar/Widget.html 5 ●●●● patch | view | raw | blame | history
widgets/LeftNavigationBar/Widget.js 70 ●●●● patch | view | raw | blame | history
widgets/LeftNavigationBar/css/style.css 78 ●●●● patch | view | raw | blame | history
widgets/crossTailoring/Widget.html 37 ●●●● patch | view | raw | blame | history
widgets/crossTailoring/Widget.js 329 ●●●●● patch | view | raw | blame | history
widgets/crossTailoring/css/style.css 68 ●●●● patch | view | raw | blame | history
widgets/instructions/css/style.css 4 ●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/Widget.js 32 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/css/style.css 2 ●●● patch | view | raw | blame | history
config.json
@@ -292,7 +292,7 @@
      },
      {
        "name": "Cross裁剪",
        "uri": "widgets/BOXInteractive/Widget"
        "uri": "widgets/crossTailoring/Widget"
      }
    ],
    "groups": [],
images/addL/目录树.png
widgets/BOXInteractive/Widget.js
@@ -28,7 +28,7 @@
                })
                that.beginBOXInteractive();
                // that.beginBOXInteractive();
            },
            beginBOXInteractive: function () {
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;
}
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">
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);
widgets/BOXTailoring/css/style.css
@@ -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;
}
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> -->
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);
                    }
                })
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: "";
@@ -152,6 +185,7 @@
.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;
}
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>
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 () {
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;
  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;
} */
}
.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; */
}
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;
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 () {
            },
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);