From ca1b473b0965ad5d036348a5f9f88160c1ceb47d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 04 Jun 2021 11:42:10 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap

---
 config.json                              |    3 
 widgets/SplitScreen/nls/strings.js       |    7 
 widgets/SplitScreen/css/style.css        |  141 +++++++++++++++++
 widgets/Tool/Widget.js                   |   80 ++++-----
 widgets/SplitScreen/Widget.js            |  141 +++++++++++++++++
 widgets/SplitScreen/manifest.json        |   17 ++
 widgets/SplitScreen/Widget.html          |   37 ++++
 widgets/SplitScreen/nls/es/strings.js    |    5 
 widgets/SplitScreen/nls/zh-cn/strings.js |    5 
 9 files changed, 394 insertions(+), 42 deletions(-)

diff --git a/config.json b/config.json
index 3c4b7c6..2c12c7f 100644
--- a/config.json
+++ b/config.json
@@ -153,6 +153,9 @@
           "relativeTo": "map"
         }
       }, {
+        "name": "分屏对比",
+        "uri": "widgets/SplitScreen/Widget"
+      },{
         "name": "搜索栏",
         "uri": "widgets/searchL/Widget"
       }, {
diff --git a/widgets/SplitScreen/Widget.html b/widgets/SplitScreen/Widget.html
new file mode 100644
index 0000000..c0b7d1b
--- /dev/null
+++ b/widgets/SplitScreen/Widget.html
@@ -0,0 +1,37 @@
+<div>
+    <div id="split_up" style="display: none;"></div>
+    <div id="split_bottom" style="display: none;"></div>
+    <div id="split_left" style="display: none;"></div>
+    <div id="split_right" style="display: none;"></div>
+    <div id="split_vertical_trisection_left" style="display: none;"></div>
+    <div id="split_vertical_trisection_right" style="display: none;"></div>
+    
+    <div class="split-select">
+
+        
+
+        <button id="viewportType" value="NONE">
+            <span>
+                不使用分屏
+            </span>
+            <i class="layui-icon">
+                &#xe625;
+            </i>
+        </button>
+
+        <i class="layui-icon close">
+            &#x1006;
+        </i>
+        
+        <div class="split-select-option">
+            <ul>
+                <li label="NONE">不使用分屏</li>
+                <li label="HORIZONTAL">水平分屏</li>
+                <li label="VERTICAL">垂直分屏</li>
+                <li label="TRIPLE">三视口</li>
+                <li label="VerticalTrisection">水平三视口</li>
+                <li label="QUAD">四视口</li>
+            </ul>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/widgets/SplitScreen/Widget.js b/widgets/SplitScreen/Widget.js
new file mode 100644
index 0000000..6450370
--- /dev/null
+++ b/widgets/SplitScreen/Widget.js
@@ -0,0 +1,141 @@
+define([
+        'dojo/_base/declare',
+        'dojo/_base/lang',
+        'dojo/_base/array',
+        'dojo/_base/html',
+        'dojo/topic',
+        'jimu/BaseWidget',
+    ],
+    function (declare,
+        lang,
+        array,
+        html,
+        topic,
+        BaseWidget
+    ) {
+        return declare([BaseWidget], {
+            baseClass: 'jimu-widget-SplitScreen',
+            name: 'SplitScreen',
+            startup: function () {
+                var that = this;
+                // 点击x隐藏面板
+                $('#viewportType').change(function () {
+
+                });
+
+                $('#viewportType').click(function () {
+                    $(".split-select .split-select-option").toggle();
+                })
+
+                $(".split-select .split-select-option li").click(function () {
+
+                    if ($(this).text() != $('#viewportType span').text()) {
+                        $('#viewportType span').text($(this).text())
+                        var value = $(this).attr('label');
+                        switch (value) {
+                            case "NONE":
+                                $("#split_up").css("display", "none");
+                                $("#split_bottom").css("display", "none");
+                                $("#split_left").css("display", "none");
+                                $("#split_right").css("display", "none");
+                                $("#split_vertical_trisection_left").css("display", "none");
+                                $("#split_vertical_trisection_right").css("display", "none");
+                                $('#pannel').hide();
+                                break;
+                            case "HORIZONTAL":
+                                $("#split_up").css("display", "block");
+                                $("#split_bottom").css("display", "block");
+                                $("#split_left").css("display", "none");
+                                $("#split_right").css("display", "none");
+                                $("#split_vertical_trisection_left").css("display", "none");
+                                $("#split_vertical_trisection_right").css("display", "none");
+                                $('#pannel').show();
+                                $('#b_one,#b_two,#g_one,#g_two').show();
+                                $('#b_three,#g_three,#b_four,#g_four').hide();
+                                break;
+                            case "VERTICAL":
+                                $("#split_up").css("display", "none");
+                                $("#split_bottom").css("display", "none");
+                                $("#split_left").css("display", "block");
+                                $("#split_right").css("display", "block");
+                                $("#split_vertical_trisection_left").css("display", "none");
+                                $("#split_vertical_trisection_right").css("display", "none");
+                                $('#pannel').show();
+                                $('#b_one,#b_two,#g_one,#g_two').show();
+                                $('#b_three,#g_three,#b_four,#g_four').hide();
+                                break;
+                            case "TRIPLE":
+                                $("#split_up").css("display", "block");
+                                $("#split_bottom").css("display", "none");
+                                $("#split_left").css("display", "block");
+                                $("#split_right").css("display", "block");
+                                $("#split_vertical_trisection_left").css("display", "none");
+                                $("#split_vertical_trisection_right").css("display", "none");
+                                $('#pannel').show();
+                                $('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three').show();
+                                $('#b_four,#g_four').hide();
+                                break;
+                            case "VerticalTrisection":
+                                $("#split_up").css("display", "none");
+                                $("#split_bottom").css("display", "none");
+                                $("#split_left").css("display", "none");
+                                $("#split_right").css("display", "none");
+                                $("#split_vertical_trisection_left").css("display", "block");
+                                $("#split_vertical_trisection_right").css("display", "block");
+                                $('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three').show();
+                                $('#b_four,#g_four').hide();
+                                $('#pannel').show();
+                                break;
+                            default:
+                                $("#split_up").css("display", "block");
+                                $("#split_bottom").css("display", "block");
+                                $("#split_left").css("display", "block");
+                                $("#split_right").css("display", "block");
+                                $("#split_vertical_trisection_left").css("display", "none");
+                                $("#split_vertical_trisection_right").css("display", "none");
+                                $('#pannel').show();
+                                $('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three,#b_four,#g_four').show();
+                                break;
+                        }
+                        that.map.scene.multiViewportMode = Cesium.MultiViewportMode[value];
+
+                        $(".split-select .split-select-option").stop().hide();
+                    }
+                })
+
+                $('.jimu-widget-SplitScreen .close').click(function () {
+                    that.map.scene.multiViewportMode = Cesium.MultiViewportMode['NONE'];
+                    $('.jimu-widget-SplitScreen').hide();
+                });
+
+            },
+
+            onOpen: function () {
+
+            },
+
+            onClose: function () {
+                //面板关闭的时候触发 (when this panel is closed trigger)
+            },
+
+            onMinimize: function () {
+                this.resize();
+            },
+
+            onMaximize: function () {
+                this.resize();
+            },
+
+            resize: function () {
+
+            },
+
+            destroy: function () {
+                //销毁的时候触发
+                //todo
+                //do something before this func
+                this.inherited(arguments);
+            }
+
+        });
+    });
\ No newline at end of file
diff --git a/widgets/SplitScreen/css/style.css b/widgets/SplitScreen/css/style.css
new file mode 100644
index 0000000..a71b084
--- /dev/null
+++ b/widgets/SplitScreen/css/style.css
@@ -0,0 +1,141 @@
+.jimu-widget-SplitScreen {
+  position: fixed !important;
+  top: 96px !important;
+  right: 20px !important;
+  width: auto !important;
+  height: auto !important;
+  background-color: #323a36;
+  font-size: 14px;
+  border: 1px solid rgb(69, 154, 251);
+  /* opacity      : .8; */
+  color: rgb(238, 235, 235);
+  font-size: 16px;
+  z-index: 101;
+  border-radius: 10px 0 10px 10px;
+  display: none;
+}
+
+.jimu-widget-SplitScreen .split-select {
+  position: relative;
+  margin: 6px;
+  width: auto;
+  height: auto;
+}
+
+.jimu-widget-SplitScreen .split-select .close {
+  position: absolute;
+  top: -20px;
+  right: -20px;
+  width: 24px;
+  height: 24px;
+  color: #fff;
+  font-size: 14px;
+  line-height: 24px;
+  text-align: center;
+  background: #323a36;
+  border-radius: 50%;
+  border: 1px solid rgb(69, 154, 251);
+}
+
+.jimu-widget-SplitScreen .split-select button {
+  width: 160px;
+  height: 30px;
+  background: #fff;
+  border-radius: 5px;
+  font-size: 14px;
+  padding: 0 6px;
+  text-align: left;
+  border: none;
+  cursor: pointer;
+}
+
+.jimu-widget-SplitScreen .split-select button i {
+  float: right;
+}
+
+.jimu-widget-SplitScreen .split-select button:focus {
+  outline: none;
+}
+
+.jimu-widget-SplitScreen .split-select .split-select-option {
+  display: none;
+  margin-top: 6px;
+  border-radius: 10px;
+  color: #333;
+  font-size: 14px;
+  background: #fff;
+}
+
+.jimu-widget-SplitScreen .split-select .split-select-option ul {
+  padding: 10px 0;
+}
+
+.jimu-widget-SplitScreen .split-select .split-select-option li {
+  padding: 2px 8px;
+  height: 26px;
+  cursor: pointer;
+
+}
+
+.jimu-widget-SplitScreen .split-select .split-select-option li:hover {
+  color: #fff;
+  background-color: #0081c2;
+}
+
+#split_up {
+  position: fixed;
+  background-color: white;
+  left: 50%;
+  bottom: 50%;
+  width: 2px;
+  height: 50%;
+  -webkit-transform: translate(-50%, 0);
+}
+
+#split_bottom {
+  position: fixed;
+  background-color: white;
+  left: 50%;
+  top: 50%;
+  width: 2px;
+  height: 50%;
+  -webkit-transform: translate(-50%, 0);
+}
+
+#split_left {
+  position: fixed;
+  background-color: white;
+  right: 50%;
+  bottom: 50%;
+  height: 2px;
+  width: 50%;
+  -webkit-transform: translate(0, -50%);
+}
+
+#split_right {
+  position: fixed;
+  background-color: white;
+  left: 50%;
+  bottom: 50%;
+  height: 2px;
+  width: 50%;
+  -webkit-transform: translate(0, -50%);
+}
+
+#split_vertical_trisection_left {
+  position: fixed;
+  background-color: white;
+  left: 33.33%;
+  top: 0;
+  height: 100%;
+  width: 2px;
+}
+
+#split_vertical_trisection_right {
+  position: fixed;
+  background-color: white;
+  right: 33.33%;
+  top: 0;
+  height: 100%;
+  width: 2px;
+}
\ No newline at end of file
diff --git a/widgets/SplitScreen/manifest.json b/widgets/SplitScreen/manifest.json
new file mode 100644
index 0000000..e8b8f4b
--- /dev/null
+++ b/widgets/SplitScreen/manifest.json
@@ -0,0 +1,17 @@
+{
+  "name": "SplitScreen",
+  "2D": true,
+  "3D": true,
+  "platform": "HTML",
+  "version": "2.10",
+  "wabVersion": "2.10",
+  "author": "yuanjy",
+  "description": "",
+  "copyright": "",
+  "license": "",
+  "properties": {
+    "hasConfig": false,
+    "inPanel": false,
+    "hasVersionManager": false
+  }
+}
\ No newline at end of file
diff --git a/widgets/SplitScreen/nls/es/strings.js b/widgets/SplitScreen/nls/es/strings.js
new file mode 100644
index 0000000..1d4d63e
--- /dev/null
+++ b/widgets/SplitScreen/nls/es/strings.js
@@ -0,0 +1,5 @@
+define(
+   ({
+    _widgetLabel: "goSplitScreen"
+  })
+);
\ No newline at end of file
diff --git a/widgets/SplitScreen/nls/strings.js b/widgets/SplitScreen/nls/strings.js
new file mode 100644
index 0000000..c7f1912
--- /dev/null
+++ b/widgets/SplitScreen/nls/strings.js
@@ -0,0 +1,7 @@
+define({
+  root: ({
+    _widgetLabel: "SplitScreen"
+  }),
+  "es": 1,
+  "zh-cn": 1
+});
\ No newline at end of file
diff --git a/widgets/SplitScreen/nls/zh-cn/strings.js b/widgets/SplitScreen/nls/zh-cn/strings.js
new file mode 100644
index 0000000..d6694a8
--- /dev/null
+++ b/widgets/SplitScreen/nls/zh-cn/strings.js
@@ -0,0 +1,5 @@
+define(
+   ({
+    _widgetLabel: "分屏对比"
+  })
+);
\ No newline at end of file
diff --git a/widgets/Tool/Widget.js b/widgets/Tool/Widget.js
index c6f1600..dfb0dfd 100644
--- a/widgets/Tool/Widget.js
+++ b/widgets/Tool/Widget.js
@@ -3,16 +3,16 @@
 // 模块描述:显示坐标
 ///////////////////////////////////////////////////////////////////////////
 define([
-	'dojo/_base/declare',
-	'dojo/_base/lang',
-	'dojo/_base/array',
-	'dojo/_base/html',
-	'dojo/topic',
-	'jimu/BaseWidget',
-	'jimu/utils',
-	'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
-	'libs/zTree_v3/js/jquery.ztree.all'
-],
+		'dojo/_base/declare',
+		'dojo/_base/lang',
+		'dojo/_base/array',
+		'dojo/_base/html',
+		'dojo/topic',
+		'jimu/BaseWidget',
+		'jimu/utils',
+		'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
+		'libs/zTree_v3/js/jquery.ztree.all'
+	],
 	function (declare,
 		lang,
 		array,
@@ -43,11 +43,12 @@
 					$('.jimu-widget-Measurement').show();
 					$('.jimu-widget-Sign').hide();
 					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-SplitScreen').hide();
 					$('.jimu-widget-DynamicRiver').hide();
 					$('.tool-y-box').toggle()
 				})
 
-				
+
 
 				// 卷帘对比
 				$('.rolling-tool').click(function () {
@@ -57,6 +58,7 @@
 					$('#widgets_Rolling_Widget_17').show();
 					$('.jimu-widget-Measurement').hide();
 					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-SplitScreen').hide();
 					$('.jimu-widget-DynamicRiver').hide();
 					$('.tool-y-box').toggle();
 				})
@@ -68,6 +70,7 @@
 					$('.jimu-widget-Sign').show();
 					$('.jimu-widget-Measurement').hide();
 					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-SplitScreen').hide();
 					$('.jimu-widget-DynamicRiver').hide();
 					$('.tool-y-box').toggle()
 				})
@@ -79,44 +82,37 @@
 					$('.jimu-widget-Measurement').hide();
 					$('.jimu-widget-Sign').hide();
 					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-SplitScreen').hide();
 					$('.jimu-widget-DynamicRiver').hide();
 					$('.tool-y-box').toggle()
 				})
 
-				// 查询定位
-				// $('.location-tool').click(function () {
-				// 	$('.jimu-widget-Location').show();
-
-				// 	$('.jimu-widget-FlyRoute').hide();
-				// 	$('.jimu-widget-Sign').hide();
-				// 	$('.jimu-widget-DynamicRiver').hide();
-				// 	$('.jimu-widget-Measurement').hide();
-				// 	$('.tool-y-box').toggle()
-				// })
 
 				// 地图打印
-				// $('.MapPrinting-tool').click(function () {
-				// 	$('.jimu-widget-Location').hide();
-				// 	$('.jimu-widget-MapPrinting').show();
-				// 	$('.jimu-widget-CoorPosition').hide();
-				// 	$('.jimu-widget-Measurement').hide();
-				// 	$('.jimu-widget-Sign').hide();
-				// 	$('.jimu-widget-FlyRoute').hide();
-				// 	$('.jimu-widget-DynamicRiver').hide();
-				// 	$('.tool-y-box').toggle()
-				// })
+				$('.MapPrinting-tool').click(function () {
+					$('.jimu-widget-Location').hide();
+					$('.jimu-widget-MapPrinting').show();
+					$('.jimu-widget-CoorPosition').hide();
+					$('.jimu-widget-Measurement').hide();
+					$('.jimu-widget-Sign').hide();
+					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-DynamicRiver').hide();
+					$('.jimu-widget-SplitScreen').hide();
+					$('.tool-y-box').toggle()
+				})
 
-				// 路线导航
-				// $('.RouteNavigate-tool').click(function () {
-				// 	$('.jimu-widget-RouteNavigate').show();
-				// 	$('.jimu-widget-MapPrinting').hide();
-				// 	$('.jimu-widget-CoorPosition').hide();
-				// 	$('.jimu-widget-Measurement').hide();
-				// 	$('.jimu-widget-Sign').hide();
-				// 	$('.jimu-widget-FlyRoute').hide();
-				// 	$('.jimu-widget-DynamicRiver').hide();
-				// 	$('.tool-y-box').toggle()
-				// })
+				// 分屏对比
+				$('.splitScreen-tool').click(function () {
+					$('.jimu-widget-SplitScreen').show();
+					$('.jimu-widget-CoorPosition').hide();
+					$('.jimu-widget-Location').hide();
+					$('.jimu-widget-Measurement').hide();
+					$('.jimu-widget-Sign').hide();
+					$('.jimu-widget-FlyRoute').hide();
+					$('.jimu-widget-DynamicRiver').hide();
+					$('.tool-y-box').toggle()
+				})
+
 			},
 
 			closeToolBox: function (item) {

--
Gitblit v1.9.3