From 7540886ea5a498085052104c054cf9f0853310c9 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 05 六月 2023 10:20:58 +0800
Subject: [PATCH] 顶部菜单,左侧菜单,图图层管理界面

---
 src/assets/img/leftBtn/形状 3 拷贝.png     |    0 
 src/assets/img/leftBtn/形状 1.png        |    0 
 src/assets/img/topBtn/圆角矩形 12 拷贝 5.png |    0 
 src/assets/img/topBtn/椭圆 5 拷贝 3.png    |    0 
 src/assets/img/leftBtn/形状 1 拷贝.png     |    0 
 src/assets/img/topBtn/椭圆 7 拷贝 2.png    |    0 
 src/assets/img/leftBtn/形状 2 拷贝.png     |    0 
 src/assets/img/topBtn/椭圆 3 拷贝 23.png   |    0 
 src/assets/img/topBtn/椭圆 8 拷贝 8.png    |    0 
 src/assets/img/leftBtn/形状 4 拷贝.png     |    0 
 src/assets/img/topBtn/图层 14 拷贝 3.png   |    0 
 src/assets/img/topBtn/图层 8 拷贝 2.png    |    0 
 src/assets/img/topBtn/图层 31.png        |    0 
 src/assets/img/topBtn/图标bj.png         |    0 
 src/assets/img/topBtn/矩形 13 拷贝.png     |    0 
 src/assets/img/topBtn/向上1.png          |    0 
 src/assets/img/topBtn/形状 5.png         |    0 
 src/assets/img/topBtn/椭圆 3 拷贝 16.png   |    0 
 src/assets/img/topBtn/矩形 8 拷贝 11.png   |    0 
 src/assets/img/leftBtn/形状 8 拷贝.png     |    0 
 src/assets/img/leftBtn/图层1 (1).png     |    0 
 src/components/topBtn.vue              |  223 +++++++-------
 src/assets/js/Map/menuData.js          |  187 +++++------
 src/assets/img/leftBtn/形状 2.png        |    0 
 src/assets/img/topBtn/图层 8.png         |    0 
 src/components/menus.vue               |  283 ++++--------------
 src/utils/drag.ts                      |   46 +++
 src/assets/img/leftBtn/形状 8.png        |    0 
 src/assets/img/topBtn/文字标注.png         |    0 
 src/assets/img/leftBtn/形状 3.png        |    0 
 src/assets/img/topBtn/椭圆 3 拷贝 20.png   |    0 
 src/assets/img/topBtn/高程测量.png         |    0 
 src/assets/img/topBtn/矢量智能对象 拷贝 3.png  |    0 
 src/assets/img/topBtn/图层 5 拷贝 6.png    |    0 
 src/views/Index.vue                    |   11 
 src/assets/img/topBtn/形状 3.png         |    0 
 src/main.ts                            |    4 
 src/assets/img/topBtn/图层 7 拷贝 5.png    |    0 
 src/assets/img/topBtn/清除.png           |    0 
 src/assets/img/topBtn/椭圆 6.png         |    0 
 src/assets/img/topBtn/图层 31 拷贝.png     |    0 
 src/assets/img/topBtn/圆角矩形 12 拷贝 6.png |    0 
 src/assets/img/leftBtn/图层1 (1) 拷贝.png  |    0 
 src/assets/js/Map/menuTool.js          |   80 +++++
 src/assets/img/leftBtn/形状 4.png        |    0 
 src/views/layer/layerManage.vue        |   37 ++
 src/assets/img/矩形 1.png                |    0 
 47 files changed, 437 insertions(+), 434 deletions(-)

diff --git "a/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..2eeedaa
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051.png" "b/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051.png"
new file mode 100644
index 0000000..fbce7e5
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\233\276\345\261\2021 \0501\051.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 1 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 1 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..04cc1cb
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 1 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 1.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 1.png"
new file mode 100644
index 0000000..4857414
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 1.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 2 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 2 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..1bf1893
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 2 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 2.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 2.png"
new file mode 100644
index 0000000..f5187cc
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 2.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 3 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 3 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..62139d8
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 3 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 3.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 3.png"
new file mode 100644
index 0000000..bd9d2ca
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 3.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 4 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 4 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..dfea25a
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 4 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 4.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 4.png"
new file mode 100644
index 0000000..01395b9
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 4.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 8 \346\213\267\350\264\235.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 8 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..699d2df
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 8 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/leftBtn/\345\275\242\347\212\266 8.png" "b/src/assets/img/leftBtn/\345\275\242\347\212\266 8.png"
new file mode 100644
index 0000000..9ed8715
--- /dev/null
+++ "b/src/assets/img/leftBtn/\345\275\242\347\212\266 8.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\220\221\344\270\2121.png" "b/src/assets/img/topBtn/\345\220\221\344\270\2121.png"
new file mode 100644
index 0000000..70f3510
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\220\221\344\270\2121.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 14 \346\213\267\350\264\235 3.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 14 \346\213\267\350\264\235 3.png"
new file mode 100644
index 0000000..348a4b4
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 14 \346\213\267\350\264\235 3.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 31 \346\213\267\350\264\235.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 31 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..8d3ca73
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 31 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 31.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 31.png"
new file mode 100644
index 0000000..9347889
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 31.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 5 \346\213\267\350\264\235 6.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 5 \346\213\267\350\264\235 6.png"
new file mode 100644
index 0000000..d9e8f58
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 5 \346\213\267\350\264\235 6.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 7 \346\213\267\350\264\235 5.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 7 \346\213\267\350\264\235 5.png"
new file mode 100644
index 0000000..5d363bb
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 7 \346\213\267\350\264\235 5.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 8 \346\213\267\350\264\235 2.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 8 \346\213\267\350\264\235 2.png"
new file mode 100644
index 0000000..1d954f3
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 8 \346\213\267\350\264\235 2.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\345\261\202 8.png" "b/src/assets/img/topBtn/\345\233\276\345\261\202 8.png"
new file mode 100644
index 0000000..467b736
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\345\261\202 8.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\233\276\346\240\207bj.png" "b/src/assets/img/topBtn/\345\233\276\346\240\207bj.png"
new file mode 100644
index 0000000..af07ce2
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\233\276\346\240\207bj.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 5.png" "b/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 5.png"
new file mode 100644
index 0000000..1c6e57c
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 5.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 6.png" "b/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 6.png"
new file mode 100644
index 0000000..f7f4659
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\234\206\350\247\222\347\237\251\345\275\242 12 \346\213\267\350\264\235 6.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\275\242\347\212\266 3.png" "b/src/assets/img/topBtn/\345\275\242\347\212\266 3.png"
new file mode 100644
index 0000000..7bba23a
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\275\242\347\212\266 3.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\345\275\242\347\212\266 5.png" "b/src/assets/img/topBtn/\345\275\242\347\212\266 5.png"
new file mode 100644
index 0000000..b6bae58
--- /dev/null
+++ "b/src/assets/img/topBtn/\345\275\242\347\212\266 5.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\226\207\345\255\227\346\240\207\346\263\250.png" "b/src/assets/img/topBtn/\346\226\207\345\255\227\346\240\207\346\263\250.png"
new file mode 100644
index 0000000..544ddf2
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\226\207\345\255\227\346\240\207\346\263\250.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 16.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 16.png"
new file mode 100644
index 0000000..31a0d1f
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 16.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 20.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 20.png"
new file mode 100644
index 0000000..8197273
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 20.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 23.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 23.png"
new file mode 100644
index 0000000..7e17ecc
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 3 \346\213\267\350\264\235 23.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 5 \346\213\267\350\264\235 3.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 5 \346\213\267\350\264\235 3.png"
new file mode 100644
index 0000000..dce616f
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 5 \346\213\267\350\264\235 3.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 6.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 6.png"
new file mode 100644
index 0000000..38d56ea
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 6.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 7 \346\213\267\350\264\235 2.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 7 \346\213\267\350\264\235 2.png"
new file mode 100644
index 0000000..53ce48d
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 7 \346\213\267\350\264\235 2.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\244\255\345\234\206 8 \346\213\267\350\264\235 8.png" "b/src/assets/img/topBtn/\346\244\255\345\234\206 8 \346\213\267\350\264\235 8.png"
new file mode 100644
index 0000000..ef3e416
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\244\255\345\234\206 8 \346\213\267\350\264\235 8.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\346\270\205\351\231\244.png" "b/src/assets/img/topBtn/\346\270\205\351\231\244.png"
new file mode 100644
index 0000000..65d8de6
--- /dev/null
+++ "b/src/assets/img/topBtn/\346\270\205\351\231\244.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\347\237\242\351\207\217\346\231\272\350\203\275\345\257\271\350\261\241 \346\213\267\350\264\235 3.png" "b/src/assets/img/topBtn/\347\237\242\351\207\217\346\231\272\350\203\275\345\257\271\350\261\241 \346\213\267\350\264\235 3.png"
new file mode 100644
index 0000000..76df68b
--- /dev/null
+++ "b/src/assets/img/topBtn/\347\237\242\351\207\217\346\231\272\350\203\275\345\257\271\350\261\241 \346\213\267\350\264\235 3.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\347\237\251\345\275\242 13 \346\213\267\350\264\235.png" "b/src/assets/img/topBtn/\347\237\251\345\275\242 13 \346\213\267\350\264\235.png"
new file mode 100644
index 0000000..0a67611
--- /dev/null
+++ "b/src/assets/img/topBtn/\347\237\251\345\275\242 13 \346\213\267\350\264\235.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\347\237\251\345\275\242 8 \346\213\267\350\264\235 11.png" "b/src/assets/img/topBtn/\347\237\251\345\275\242 8 \346\213\267\350\264\235 11.png"
new file mode 100644
index 0000000..ef957a9
--- /dev/null
+++ "b/src/assets/img/topBtn/\347\237\251\345\275\242 8 \346\213\267\350\264\235 11.png"
Binary files differ
diff --git "a/src/assets/img/topBtn/\351\253\230\347\250\213\346\265\213\351\207\217.png" "b/src/assets/img/topBtn/\351\253\230\347\250\213\346\265\213\351\207\217.png"
new file mode 100644
index 0000000..f770a7c
--- /dev/null
+++ "b/src/assets/img/topBtn/\351\253\230\347\250\213\346\265\213\351\207\217.png"
Binary files differ
diff --git "a/src/assets/img/\347\237\251\345\275\242 1.png" "b/src/assets/img/\347\237\251\345\275\242 1.png"
new file mode 100644
index 0000000..e34079a
--- /dev/null
+++ "b/src/assets/img/\347\237\251\345\275\242 1.png"
Binary files differ
diff --git a/src/assets/js/Map/menuData.js b/src/assets/js/Map/menuData.js
index 636ca07..89236d3 100644
--- a/src/assets/js/Map/menuData.js
+++ b/src/assets/js/Map/menuData.js
@@ -3,199 +3,184 @@
         {
             id: 'a1',
             name: "婕父",
-            class: 'twoMenu_imge21',
+            imgUrl: '鍥惧眰 8 鎷疯礉 2.png',
+            level: 1,
             children: [
                 {
                     id: 'a2',
                     name: "鐐规极娓�",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '妞渾 6.png',
+                    level: 2,
                 },
                 {
                     id: 'a3',
                     name: "绾胯矾婕父",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '妞渾 7 鎷疯礉 2.png',
+                    level: 2,
                 }
             ],
         },
         {
             id: 'b1',
-            name: "娴嬮噺",
-            class: 'twoMenu_imge21',
+            name: "閲忔祴",
+            imgUrl: '鍥惧眰 5 鎷疯礉 6.png',
+            level: 1,
             children: [
                 {
                     id: 'b2',
                     name: "琛ㄩ潰璺濈",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '鍥惧眰 31.png',
+                    level: 2,
                 },
                 {
                     id: 'b3',
                     name: "骞抽潰闈㈢Н",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '鐭╁舰 13 鎷疯礉.png',
+                    level: 2,
                 }, {
                     id: 'b4',
                     name: "楂樼▼娴嬮噺",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '楂樼▼娴嬮噺.png',
+                    level: 2,
                 },
                 {
                     id: 'b5',
                     name: "鍨傜洿楂樺害",
-                    class: 'twoMenu_imge21',
+                    imgUrl: '鍥惧眰 31 鎷疯礉.png',
+                    level: 2,
                 }
             ],
         },
         {
             id: 'c1',
             name: "鏍囩粯",
-            class: 'twoMenu_imge21',
+            imgUrl: '鐭╁舰 8 鎷疯礉 11.png',
+            level: 1,
             children: [{
                 id: 'c2',
                 name: "鐐�",
-                class: 'twoMenu_imge21',
+                imgUrl: '妞渾 5 鎷疯礉 3.png',
+                level: 2,
             },
             {
                 id: 'c3',
                 name: "鏂囧瓧",
-                class: 'twoMenu_imge21',
+                imgUrl: '鏂囧瓧鏍囨敞.png',
+                level: 2,
             }, {
                 id: 'c4',
                 name: "绾�",
-                class: 'twoMenu_imge21',
+                imgUrl: '妞渾 3 鎷疯礉 16.png',
+                level: 2,
             },
             {
                 id: 'c5',
                 name: "鐭╁舰",
-                class: 'twoMenu_imge21',
+                imgUrl: '妞渾 3 鎷疯礉 20.png',
+                level: 2,
             }, {
                 id: 'c6',
                 name: "澶氳竟褰�",
-                class: 'twoMenu_imge21',
+                imgUrl: '妞渾 3 鎷疯礉 23.png',
+                level: 2,
             }],
         },
         {
             id: 'd1',
             name: "鍒嗘瀽",
-            class: 'twoMenu_imge21',
+            imgUrl: '鐭㈤噺鏅鸿兘瀵硅薄 鎷疯礉 3.png',
+            level: 1,
             children: [{
                 id: 'd2',
                 name: "绛夐珮绾垮垎鏋�",
-                class: 'twoMenu_imge21',
+                imgUrl: '妞渾 8 鎷疯礉 8.png',
+                level: 2,
             },
             {
                 id: 'd3',
                 name: "鍧″害鍒嗘瀽",
-                class: 'twoMenu_imge21',
+                imgUrl: '鍦嗚鐭╁舰 12 鎷疯礉 5.png',
+                level: 2,
             }, {
                 id: 'd4',
                 name: "鍦熸柟閲忚绠�",
-                class: 'twoMenu_imge21',
+                imgUrl: '鍥惧眰 14 鎷疯礉 3.png',
+                level: 2,
             },
             {
                 id: 'd5',
                 name: "褰卞儚瀵规瘮",
-                class: 'twoMenu_imge21',
+                imgUrl: '鍦嗚鐭╁舰 12 鎷疯礉 6.png',
+
+                level: 2,
             }, {
                 id: 'd6',
                 name: "闃村奖鍒嗘瀽",
-                class: 'twoMenu_imge21',
+                imgUrl: '鍥惧眰 8.png',
+                level: 2,
             }],
         },
         {
             id: 'e1',
-            class: 'twoMenu_imge21',
-            name: "鎴浘",
+            imgUrl: '褰㈢姸 5.png',
+            name: "蹇収",
+            level: 1,
         },
         {
             id: 'f1',
-            name: "鏌ヨ",
-            class: 'twoMenu_imge21',
+            name: "绌洪棿鏌ヨ",
+            imgUrl: '褰㈢姸 3.png',
+            level: 1,
             children: [],
         },
         {
             id: 'g1',
-            class: 'twoMenu_imge21',
-            name: "瀹氫綅",
+            imgUrl: '鍥惧眰 7 鎷疯礉 5.png',
+            name: "鍧愭爣瀹氫綅",
+            level: 1,
         },
         {
             id: 'k1',
-            class: 'twoMenu_imge21',
+            imgUrl: '娓呴櫎.png',
+            level: 1,
             name: "娓呴櫎",
         },
     ],
-    toolMenu: null,
-    toolFlag: null,
-    colorAll: {
-
-    },
-    menuTools(res) {
-        this.clearTools();
-        this.toolFlag = res.id;
-        switch (res.id) {
-            case 'a2'://鐐规极娓�
-                this.pointRoam();
-                break;
-            case 'a3'://绾挎极娓�
-                this.lineRoam();
-                break;
-            case 'b2'://琛ㄩ潰璺濈
-                this.surfaceDistance();
-                break;
-            case 'b3'://骞抽潰闈㈢Н
-                this.planeDistance();
-                break;
-            case 'b4'://楂樼▼娴嬮噺
-                this.heightMeasure();
-                break;
-            case 'b5'://鍨傜洿楂樺害
-                this.verticalHeight();
-                break;
+    leftMenu: [
+        {
+            id: 'l1',
+            name: '鍥惧眰绠$悊',
+            imgUrl: '鍥惧眰1 (1).png',
+            checkImgUrl: '鍥惧眰1 (1) 鎷疯礉.png'
+        },
+        {
+            id: 'l2',
+            name: '鏍囩粯鏌ヨ',
+            imgUrl: '褰㈢姸 4.png',
+            checkImgUrl: '褰㈢姸 4 鎷疯礉.png'
+        }, {
+            id: 'l3',
+            name: '涓撻鍥惧埗浣�',
+            imgUrl: '褰㈢姸 2.png',
+            checkImgUrl: '褰㈢姸 2 鎷疯礉.png'
+        }, {
+            id: 'l4',
+            name: '宸ュ叿绠�',
+            imgUrl: '褰㈢姸 1.png',
+            checkImgUrl: '褰㈢姸 1 鎷疯礉.png'
+        }, {
+            id: 'l5',
+            name: '鍏ㄥ睆',
+            imgUrl: '褰㈢姸 8.png',
+            checkImgUrl: '褰㈢姸 8 鎷疯礉.png'
+        }, {
+            id: 'l6',
+            name: '搴曞浘鍒囨崲',
+            imgUrl: '褰㈢姸 3.png',
+            checkImgUrl: '褰㈢姸 3 鎷疯礉.png'
         }
-    },
-    //娓呴櫎鏂规硶
-    clearTools() {
-        if (this.toolFlag) {
-            switch (this.toolFlag) {
-                case 'a2':
-
-                    break;
-                case 'a3':
-
-                    break;
-                case 'b2':
-                case 'b3':
-                case 'b4':
-                case 'b5':
-
-                    break;
-            }
-            this.toolFlag = null;
-            this.toolMenu = null;
-        }
-    },
-
-    //鍨傜洿楂樺害
-    verticalHeight() {
-
-    },
-    //楂樼▼娴嬮噺
-    heightMeasure() {
-
-    },
-    //骞抽潰闈㈢Н
-    planeDistance() {
-
-    },
-    //琛ㄩ潰璺濈
-    surfaceDistance() {
-
-    },
-    //鐐规极娓�
-    pointRoam() {
-
-    },
-    //绾挎极娓�
-    lineRoam() {
+    ]
 
 
-    }
 }
 export default menuData;
\ No newline at end of file
diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js
new file mode 100644
index 0000000..e7ae2df
--- /dev/null
+++ b/src/assets/js/Map/menuTool.js
@@ -0,0 +1,80 @@
+const menuTool = {
+    toolMenu: null,
+    toolFlag: null,
+    colorAll: {
+    },
+    menuTools(res) {
+        this.clearTools();
+        this.toolFlag = res.id;
+        switch (res.id) {
+            case 'a2'://鐐规极娓�
+                this.pointRoam();
+                break;
+            case 'a3'://绾挎极娓�
+                this.lineRoam();
+                break;
+            case 'b2'://琛ㄩ潰璺濈
+                this.surfaceDistance();
+                break;
+            case 'b3'://骞抽潰闈㈢Н
+                this.planeDistance();
+                break;
+            case 'b4'://楂樼▼娴嬮噺
+                this.heightMeasure();
+                break;
+            case 'b5'://鍨傜洿楂樺害
+                this.verticalHeight();
+                break;
+        }
+    },
+    //鍨傜洿楂樺害
+    verticalHeight() {
+
+    },
+    //楂樼▼娴嬮噺
+    heightMeasure() {
+
+    },
+    //骞抽潰闈㈢Н
+    planeDistance() {
+
+    },
+    //琛ㄩ潰璺濈
+    surfaceDistance() {
+
+    },
+    //鐐规极娓�
+    pointRoam() {
+
+    },
+    //绾挎极娓�
+    lineRoam() {
+
+
+    },
+
+    //娓呴櫎鏂规硶
+    clearTools() {
+        if (this.toolFlag) {
+            switch (this.toolFlag) {
+                case 'a2':
+
+                    break;
+                case 'a3':
+
+                    break;
+                case 'b2':
+                case 'b3':
+                case 'b4':
+                case 'b5':
+
+                    break;
+            }
+            this.toolFlag = null;
+            this.toolMenu = null;
+        }
+    },
+
+
+}
+export default menuTool;
\ No newline at end of file
diff --git a/src/components/menus.vue b/src/components/menus.vue
index 00667d0..fb946b4 100644
--- a/src/components/menus.vue
+++ b/src/components/menus.vue
@@ -7,7 +7,7 @@
         class="logo"
       />
       <div class="logo_name">
-        <h3>鏁板瓧鏈堢悆绯荤粺</h3>
+        <h3>鏈堢悆澶ф暟鎹湴鐞嗙┖闂村垎鏋愬睍绀哄钩鍙�</h3>
         <img
           src="../assets/img/logob.png"
           alt=""
@@ -16,52 +16,27 @@
       </div>
     </div>
     <div class="menus_box">
-      <div class="menus_btn">
-        <div
-          class="menus_btn_btn1"
-          :class="{ CDactive: btnstate.CDbj }"
-          @click="isactive('CDbj')"
-        ></div>
-        <div
-          class="menus_btn_btn2"
-          :class="{ SSactive: btnstate.SSbj }"
-          @click="isactive('SSbj')"
-        ></div>
-        <div
-          class="menus_btn_btn3"
-          :class="{ SZactive: btnstate.SZbj }"
-          @click="isactive('SZbj')"
-        ></div>
-        <div
-          class="menus_btn_btn4"
-          :class="{ TCactive: btnstate.TCbj }"
-          @click="isactive('TCbj')"
-        ></div>
-      </div>
-      <div class="menus_content">
-        <div class="menus_content_TC">
-          <div class="menus_content_TC_h">
-            <i></i>
-            <h3>鏁板瓧鏈堢悆绯荤粺</h3>
-          </div>
-          <div class="menus_content_TC_c">
-            <el-tree
-              :data="data"
-              show-checkbox
-              node-key="id"
-              :default-expanded-keys="[2, 3]"
-              :default-checked-keys="[5]"
-              :props="defaultProps"
-            />
-          </div>
-        </div>
+      <div
+        class="imgBox"
+        v-for="(item,i) in menuOptions"
+        @click="setMenuClick(item)"
+      >
+        <img
+          v-if="checkMenuFlag != item.id"
+          class="imgIcon"
+          :src="require('../assets/img/leftBtn/'+item.imgUrl)"
+        >
+        <img
+          v-if="checkMenuFlag == item.id"
+          class="imgIcon"
+          :src="require('../assets/img/leftBtn/'+item.checkImgUrl)"
+        >
       </div>
     </div>
   </div>
 </template>
 
 <script lang="ts" setup>
-// import { layerList } from "@/api/api";
 import {
   ref,
   onMounted,
@@ -70,203 +45,67 @@
   defineProps,
   defineEmits,
 } from "vue";
-const defaultProps = {
-  children: "children",
-  label: "label",
-};
-const data = [
-  {
-    id: 1,
-    label: "Level one 1",
-    children: [
-      {
-        id: 4,
-        label: "Level two 1-1",
-      },
-    ],
-  },
-  {
-    id: 2,
-    label: "Level one 2",
-    children: [
-      {
-        id: 5,
-        label: "Level two 2-1",
-      },
-      {
-        id: 6,
-        label: "Level two 2-2",
-      },
-    ],
-  },
-  {
-    id: 3,
-    label: "Level one 3",
-    children: [
-      {
-        id: 7,
-        label: "Level two 3-1",
-      },
-      {
-        id: 8,
-        label: "Level two 3-2",
-      },
-    ],
-  },
-];
-let btnstate = reactive({
-  CDbj: false,
-  SSbj: false,
-  SZbj: false,
-  TCbj: false,
-});
-const isactive = (e: string) => {
-  for (const k in btnstate) {
-    btnstate[k] = false;
-    if (k == e) {
-      btnstate[k] = true;
-    }
+import menuData from "@/assets/js/Map/menuData";
+const menuOptions = ref([]);
+const checkMenuFlag = ref("");
+const setMenuClick = (res) => {
+  if (checkMenuFlag.value && checkMenuFlag.value == res.id) {
+    checkMenuFlag.value = null;
+  } else {
+    checkMenuFlag.value = res.id;
   }
 };
-const getList = async () => {
-  // const data = await layerList();
-  console.log(data);
-};
-getList();
+onMounted(() => {
+  menuOptions.value = menuData.leftMenu;
+});
 </script>
 <style lang="less" scoped>
 .menus {
-  // height: ;
   position: absolute;
-  top: 23px;
-  left: 10px;
-}
-.logo_box {
-  display: flex;
-  align-items: center;
-  // justify-content: space-between;
-  padding-left: 6px;
-  margin-bottom: 14px;
-  .logo {
-    width: 68px;
-    height: 68px;
-  }
-  .logo_name {
-    margin-left: 18px;
-    h3 {
-      font-size: 36px;
-      font-weight: 400;
-      color: #ffffff;
-      margin: 0;
-    }
-    .logo_name_b {
-      text-align: center;
-      width: 208px;
-      height: 9px;
-    }
-  }
-}
-.menus_box {
-  height: 70vh;
-  display: flex;
-  .menus_btn {
-    height: 100%;
-    width: 72px;
-    padding-top: 60px;
-    box-sizing: border-box;
-    background: url("../assets/img/menusbtnb.png") no-repeat center;
-    background-size: 100% 100%;
+  top: 27px;
+  left: 14px;
+  .logo_box {
     display: flex;
-    flex-direction: column;
     align-items: center;
-    // justify-content: space-evenly;
-    margin-right: 6px;
-    .menus_btn_btn1 {
-      width: 32px;
-      height: 32px;
-      background: url("../assets/img/cd.png") no-repeat center;
-      background-size: 100% 100%;
-      margin-bottom: 50px;
-      cursor: pointer;
+    .logo {
+      width: 68px;
+      height: 68px;
     }
-    .menus_btn_btn2 {
-      width: 32px;
-      height: 32px;
-      background: url("../assets/img/ss.png") no-repeat center;
-      background-size: 100% 100%;
-      margin-bottom: 50px;
-      cursor: pointer;
-    }
-    .menus_btn_btn3 {
-      width: 32px;
-      height: 32px;
-      background: url("../assets/img/sz.png") no-repeat center;
-      background-size: 100% 100%;
-      margin-bottom: 50px;
-      cursor: pointer;
-    }
-    .menus_btn_btn4 {
-      width: 32px;
-      height: 32px;
-      background: url("../assets/img/tc.png") no-repeat center;
-      background-size: 100% 100%;
-      cursor: pointer;
-    }
-    .CDactive {
-      background: url("../assets/img/cdl.png") no-repeat center;
-      background-size: 100% 100%;
-    }
-    .SSactive {
-      background: url("../assets/img/ssl.png") no-repeat center;
-      background-size: 100% 100%;
-    }
-    .SZactive {
-      background: url("../assets/img/szl.png") no-repeat center;
-      background-size: 100% 100%;
-    }
-    .TCactive {
-      background: url("../assets/img/tcl.png") no-repeat center;
-      background-size: 100% 100%;
-    }
-  }
-  .menus_content {
-    height: 100%;
-  }
-  .menus_content_TC {
-    width: 359px;
-    height: 100%;
-    .menus_content_TC_h {
-      padding: 12px;
-      background: #171e2e;
-      box-shadow: 0px 10px 10px 0px #262f47,
-        0px 20px 20px 0px rgba(8, 12, 19, 0.3);
-      display: flex;
-      align-items: center;
+    .logo_name {
+      margin-left: 14px;
 
-      i {
-        display: inline-block;
-        width: 11px;
-        height: 18px;
-        background: url("../assets/img/jiantouZ.png") no-repeat center;
-        background-size: 100% 100%;
-        cursor: pointer;
-        margin-right: 10px;
-      }
       h3 {
-        font-size: 18px;
+        font-size: 36px;
+        font-family: Source Han Sans CN;
         font-weight: 400;
         color: #ffffff;
-        font-family: Source Han Sans CN;
+        line-height: 9px;
+      }
+      .logo_name_b {
+        text-align: center;
+        width: 100%;
+        height: 9px;
       }
     }
-    .menus_content_TC_c {
-    }
   }
-}
-.el-tree {
-  background: transparent;
-  /deep/ .el-tree-node__label {
-    color: #ffffff;
+  .menus_box {
+    background: url("../assets/img/鐭╁舰 1.png");
+    left: 7px;
+    position: absolute;
+    top: 105px;
+    width: 71px;
+    height: 628px;
+    padding: 36px 0px;
+    .imgBox {
+      width: 100%;
+      display: flex;
+      justify-content: center;
+      margin-bottom: 52px;
+      img {
+        width: 30px;
+        height: 30px;
+      }
+    }
   }
 }
 </style>
diff --git a/src/components/topBtn.vue b/src/components/topBtn.vue
index acaa101..f4dc141 100644
--- a/src/components/topBtn.vue
+++ b/src/components/topBtn.vue
@@ -1,52 +1,49 @@
 <template>
   <div class="top_btn">
-    <div>
-      <ul>
-        <li
-          class="firstMenu"
-          v-for="(item,i) in menuOptions"
-          @mousemove="setFirstLevlMenu(item,1)"
-          @mouseleave="setFirstLevlMenu(item,2)"
-        >
-          <div
-            class="menuDiv"
-            :title="item.name"
-            :class="{ 'border_left' : i == 0, 'border_right' :i == (menuOptions.length -1)}"
-            @click="setMenuClick(item)"
+    <div class="menu_Box">
+      <div
+        class="first_Menu"
+        :title="item.name"
+        v-for="(item,i) in menuOptions"
+        @click="setMenuClick(item)"
+      >
+        <div class="First_img">
+          <img
+            class="imgIcon"
+            :src="require('../assets/img/topBtn/'+item.imgUrl)"
           >
+        </div>
+        <div
+          class="menu_second"
+          v-if="item.children && item.children.length > 0"
+          v-show="menuFlag == item.id"
+        >
+          <div class="upTop">
+            <div class="upimg"></div>
+          </div>
+          <div class="second_Box">
             <div
-              class="menuFirstImage"
-              :class="item.class"
+              class="second_Menu"
+              :title="res.name"
+              v-for="(res,j) in item.children"
+              @click="setMenuClick(res)"
+              :class="{'second_Menu_click':checkFlag == res.id}"
             >
+              <img
+                class="imgIcon"
+                style="margin-bottom: 5px;"
+                :src="require('../assets/img/topBtn/'+res.imgUrl)"
+              >
+              <div>
+                {{ res.name }}
+              </div>
+
             </div>
           </div>
-          <ul
-            @mouseleave="setFirstLevlMenu(item,2)"
-            v-show="item.children &&menuFlag == item.id"
-          >
-            <li v-for="(res,j) in item.children">
-              <div
-                class="tmenuDiv"
-                :title="res.name"
-                @click="setMenuClick(res)"
-              >
-                <div class="tmenuImg">
-                  <div
-                    class="menuFirstImage"
-                    :class="res.class"
-                  >
 
-                  </div>
-                </div>
-                <div class="tmenulabel">
-                  {{ res.name }}
-                </div>
-              </div>
-            </li>
+        </div>
 
-          </ul>
-        </li>
-      </ul>
+      </div>
     </div>
   </div>
 </template>
@@ -61,21 +58,27 @@
   defineEmits,
 } from "vue";
 import menuData from "@/assets/js/Map/menuData.js";
+import menuTool from "@/assets/js/Map/menuTool.js";
 const menuFlag = ref(null);
 const menuOptions = ref([]);
-const setFirstLevlMenu = (res, flag) => {
-  if (flag == 1) {
-    menuFlag.value = res.id;
-  } else {
-    menuFlag.value = null;
-  }
-};
+const checkFlag = ref(null);
 const setMenuClick = (res) => {
-  if (res.children && res.children.length > 0) {
-    return;
+  if (res.children) {
+    if (menuFlag.value && menuFlag.value == res.id) {
+      menuFlag.value = null;
+      checkFlag.value = null;
+    } else {
+      menuFlag.value = res.id;
+    }
+  } else {
+    if (res.level == 1) {
+      checkFlag.value = null;
+    } else if (res.level == 2) {
+      checkFlag.value = res.id;
+    }
+    menuFlag.value = null;
+    menuTool.menuTools(res);
   }
-  menuFlag.value = null;
-  menuData.menuTools(res);
 };
 onMounted(() => {
   menuOptions.value = menuData.topMenu;
@@ -86,68 +89,70 @@
 .top_btn {
   position: absolute;
   top: 23px;
-  right: 25px;
+  right: 0px;
   display: flex;
   cursor: pointer;
+  .menu_Box {
+    margin-right: 104px;
+    display: flex;
+    .imgIcon {
+      width: 30px;
+      height: 30px;
+    }
+    .first_Menu {
+      min-width: 50px;
+      height: 50px;
+      margin-right: 7px;
+      background: url("../assets/img/topBtn/鍥炬爣bj.png") no-repeat;
+      background-size: 100% 100%;
+      .First_img {
+        width: 100%;
+        height: 100%;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+      }
+    }
+    .upTop {
+      width: 100%;
+      height: 10px;
+      display: flex;
+      justify-content: center;
+      .upimg {
+        width: 15px;
+        height: 100%;
+        background: url("../assets/img/topBtn/鍚戜笂1.png") no-repeat;
+      }
+    }
+    .menu_second {
+      margin-top: 0px;
+    }
+    .second_Box {
+      background: #07080e;
+      box-shadow: inset 0px 0px 15px 0px rgb(38, 47, 71, 0.68);
 
-  .menuDiv {
-    width: 72px;
-    padding: 20px 0px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    background: rgba(1, 10, 28, 1);
-    border-top: 1px solid gray;
-    border-bottom: 1px solid gray;
-  }
-  .border_left {
-    border-radius: 5px 0px 0px 5px;
-    border-left: 1px solid gray;
-  }
-  .border_right {
-    border-radius: 0px 5px 5px 0px;
-    border-right: 1px solid gray;
-  }
-  .tmenuDiv {
-    width: 70px;
-    padding: 10px 0px;
-    border-right: 1px solid gray;
-    border-left: 1px solid gray;
-    border-bottom: 1px solid gray;
-    background: rgba(1, 10, 28, 1);
-  }
-  .tmenuDiv :hover {
-    color: #409eff;
-  }
-  .tmenuImg {
-    width: 100%;
+      .second_Menu {
+        background: #07080e;
+        box-shadow: inset 0px 0px 8px 0px rgb(38, 47, 71, 0.68);
+        margin-top: 1px;
+        font-size: 12px;
+        font-family: Source Han Sans CN;
+        padding: 10px 10px;
+        font-weight: 300;
+        color: #d1e0ff;
+        line-height: 7px;
+        text-align: center;
+        border: 1px solid none;
+      }
 
-    display: flex;
-    justify-content: center;
-  }
-  .tmenulabel {
-    width: 100%;
-
-    display: flex;
-    justify-content: center;
-    color: #fff;
-    font-size: 12px;
-    margin-top: 2px;
-  }
-  .firstMenu {
-    float: left;
-  }
-  .menuScond {
-    width: 100%;
-    display: flex;
-    justify-content: center;
-  }
-  .menuFirstImage {
-    width: 15px;
-    height: 15px;
-  }
-  .twoMenu_imge21 {
-    background: url("../assets/img/cd.png") no-repeat 100% 100%;
+      .second_Menu_click {
+        background: #171e2e;
+        border: 1px solid;
+        border-image: linear-gradient(47deg, #397bc9, #77a5cd, #397bc9) 1 1;
+        box-shadow: 0px 0px 6px 0px #080c13,
+          0px 7px 8px 0px rgba(38, 47, 71, 0.68);
+      }
+    }
   }
 }
 </style>
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
index eb854ab..8c72bb5 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -9,11 +9,13 @@
 import "./assets/css/global.css";
 //鑷�傚簲
 import "amfe-flexible/index";
-import Particles from "particles.vue3";
+//绮掑瓙鐗规晥
 import VueParticles from "vue-particles";
+import Drag from "./utils/drag";
 createApp(App)
   .use(ElementPlus)
   .use(store)
   .use(router)
   .use(VueParticles)
+  .use(Drag)
   .mount("#app");
diff --git a/src/utils/drag.ts b/src/utils/drag.ts
new file mode 100644
index 0000000..d69a83d
--- /dev/null
+++ b/src/utils/drag.ts
@@ -0,0 +1,46 @@
+const drag = {
+  mounted(el: HTMLElement) {
+    let moveEl = el as HTMLElement;
+    const mouseDown = (e: MouseEvent) => {
+      //榧犳爣鐐瑰嚮鐗╀綋閭d竴鍒荤浉瀵逛簬鐗╀綋宸︿晶杈规鐨勮窛绂�=鐐瑰嚮鏃剁殑浣嶇疆鐩稿浜庢祻瑙堝櫒鏈�宸﹁竟鐨勮窛绂�-鐗╀綋宸﹁竟妗嗙浉瀵逛簬娴忚鍣ㄦ渶宸﹁竟鐨勮窛绂�
+      // console.log(e.clientX, e.clientY, "-----璧峰", el.offsetLeft);
+      let X = e.clientX - el.offsetLeft;
+      let Y = e.clientY - el.offsetTop;
+      const move = (e: MouseEvent) => {
+        // 鑾峰彇鎷栨嫿鍏冪礌鐨勪綅缃�
+        let left = e.clientX - X;
+        let top = e.clientY - Y;
+
+        if (left <= 0) {
+          left = 0;
+        } else if (
+          left >=
+          document.documentElement.clientWidth - el.offsetWidth
+        ) {
+          left = document.documentElement.clientWidth - el.offsetWidth;
+        }
+
+        // if (top <= 0) {
+        //   top = 0
+        // } else if (top > document.documentElement.clientHeight - el.offsetHeigh) {
+        //   top = document.documentElement.clientHeight - el.offsetHeight
+        // }
+
+        el.style.left = left + "px";
+        el.style.top = top + "px";
+      };
+      document.addEventListener("mousemove", move);
+      document.addEventListener("mouseup", () => {
+        document.removeEventListener("mousemove", move);
+      });
+    };
+    moveEl.addEventListener("mousedown", mouseDown);
+  },
+};
+
+const directives = {
+  install: function (app: any) {
+    app.directive("drag", drag);
+  },
+};
+export default directives;
diff --git a/src/views/Index.vue b/src/views/Index.vue
index 53374a1..d466975 100644
--- a/src/views/Index.vue
+++ b/src/views/Index.vue
@@ -7,6 +7,9 @@
     <menus></menus>
     <bottom-btn></bottom-btn>
     <top-btn></top-btn>
+    <layer-manage>
+
+    </layer-manage>
   </div>
 </template>
 
@@ -19,11 +22,17 @@
   defineProps,
   defineEmits,
 } from "vue";
-
+//宸︿晶鑿滃崟
 import menus from "@/components/menus.vue";
+//搴曢儴鑿滃崟
 import bottomBtn from "@/components/bottomBtn.vue";
+//椤堕儴鑿滃崟
 import topBtn from "@/components/topBtn.vue";
+//鍥惧眰绠$悊椤甸潰
+import layerManage from "@/views/layer/layerManage.vue";
+
 import InitMap from "@/assets/js/Map/index.js";
+
 let map;
 var viewer;
 const init = () => {
diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
new file mode 100644
index 0000000..8af9544
--- /dev/null
+++ b/src/views/layer/layerManage.vue
@@ -0,0 +1,37 @@
+<template>
+  <div
+    v-drag
+    class="layerBox"
+  >
+    <div class="layerTitle">
+
+    </div>
+
+  </div>
+</template>
+
+<script lang="ts" setup>
+import {
+  ref,
+  onMounted,
+  onBeforeUnmount,
+  reactive,
+  defineProps,
+  defineEmits,
+} from "vue";
+</script>
+
+<style lang="less" scoped>
+.layerBox {
+  position: absolute;
+  top: 135px;
+  left: 100px;
+  width: 359px;
+  height: 680px;
+  background: rgba(7, 8, 14, 0.8);
+  .layerTitle {
+    width: 100%;
+    height: 42px;
+  }
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3