From 25ce610f6ecca7325e7a743dc032c4a76559c63d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 02 Jul 2021 09:10:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap

---
 widgets/SplitScreen/Widget.js |  198 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 122 insertions(+), 76 deletions(-)

diff --git a/widgets/SplitScreen/Widget.js b/widgets/SplitScreen/Widget.js
index d3c9131..8769b89 100644
--- a/widgets/SplitScreen/Widget.js
+++ b/widgets/SplitScreen/Widget.js
@@ -1,11 +1,11 @@
 define([
-        'dojo/_base/declare',
-        'dojo/_base/lang',
-        'dojo/_base/array',
-        'dojo/_base/html',
-        'dojo/topic',
-        'jimu/BaseWidget',
-    ],
+    'dojo/_base/declare',
+    'dojo/_base/lang',
+    'dojo/_base/array',
+    'dojo/_base/html',
+    'dojo/topic',
+    'jimu/BaseWidget',
+],
     function (declare,
         lang,
         array,
@@ -16,78 +16,124 @@
         return declare([BaseWidget], {
             baseClass: 'jimu-widget-SplitScreen',
             name: 'SplitScreen',
+            flag: false,
             startup: function () {
                 var that = this;
-                // 点击x隐藏面板
-                $('#viewportType').change(function () {
-                    var value = $(this).val();
-                    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;
+                topic.subscribe("openSplitScreen", lang.hitch(this, this.openSplitScreen));
+                topic.subscribe("closeSplitScreen", lang.hitch(this, this.closeSplitScreen));
+
+                $('#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();
                     }
-                    that.map.scene.multiViewportMode = Cesium.MultiViewportMode[value];
-                });
+                })
+
+                $('.jimu-widget-SplitScreen .split-select .close').click(() => {
+                    $('.jimu-widget-SplitScreen').hide();
+                    that.closeSplitScreen('SplitScreen')
+                })
+
+            },
+
+            openSplitScreen: function (item) {
+                if (item == this.name) {
+                    this.flag = true;
+                    $('.jimu-widget-SplitScreen').show();
+                }
+            },
+
+            closeSplitScreen: function (item) {
+                var that = this;
+                if (item == this.name) {
+                    if (this.flag = true) {
+                        this.flag = false;
+                        $('#viewportType span').text("不使用分屏");
+                        $("#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();
+                        that.map.scene.multiViewportMode = Cesium.MultiViewportMode['NONE'];
+                        $('.jimu-widget-SplitScreen').hide();
+                    }
+                }
             },
 
             onOpen: function () {

--
Gitblit v1.9.3