From b01346e041ffa205d69fddffa8c6f78cbeb307af Mon Sep 17 00:00:00 2001
From: WX <1377869194@qq.com>
Date: 星期五, 11 八月 2023 10:57:48 +0800
Subject: [PATCH] 修改风场

---
 src/views/menus.vue |   82 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 2 deletions(-)

diff --git a/src/views/menus.vue b/src/views/menus.vue
index 4a56c63..2871c8a 100644
--- a/src/views/menus.vue
+++ b/src/views/menus.vue
@@ -24,10 +24,25 @@
           class="menus_btn_c_list"
           v-for="(v, j) in item.child"
           :key="j"
-          @click="setMenuChildClick(v)"
+          @click.stop="setMenuChildClick(v)"
           :class="{ child_Menu_Options: childMenuOptions == v.id }"
         >
           {{ v.name }}
+          <div
+            class="menus_btn_c_list_chlid"
+            v-if="v.child"
+            v-show="childMenuOptions == v.id"
+          >
+            <div
+              class="menus_btn_c_list_chlid_list"
+              v-for="(e, k) in v.child"
+              :key="k"
+              :class="{ child_Menu_Options: checkMenuChildFlag == e.id }"
+              @click.stop="setMenuTreeChildClick(e)"
+            >
+              {{ e.name }}
+            </div>
+          </div>
         </div>
       </div>
     </div>
@@ -41,7 +56,7 @@
 export default {
   setup(props, { emit }) {
     const checkMenuFlag = ref("f1");
-
+    let checkMenuChildFlag = ref("");
     let menuOptions = ref([]);
     let childMenuOptions = ref("");
     const setMenuClick = (res) => {
@@ -52,6 +67,13 @@
             childMenuOptions.value = null;
             emit("menusData", { id: null, isActive: false });
             menuTool.clearLeftTools(res);
+          }
+          if (checkMenuChildFlag.value != null) {
+            if (checkMenuChildFlag.value[0] == res.id[0]) {
+              checkMenuChildFlag.value = null;
+              // emit("menusData", { id: null, isActive: false });
+              // menuTool.clearLeftTools(res);
+            }
           }
         }
         res.isActive = false;
@@ -65,11 +87,36 @@
     };
     const setMenuChildClick = (res) => {
       if (childMenuOptions.value && childMenuOptions.value == res.id) {
+        if (checkMenuChildFlag.value != null) {
+          if (checkMenuChildFlag.value[0] == res.id[0]) {
+            checkMenuChildFlag.value = null;
+            emit("menusData", { id: null, isActive: false });
+            menuTool.clearLeftTools(res);
+          }
+        }
         childMenuOptions.value = null;
         menuTool.clearLeftTools(res);
         res.isActive = false;
       } else {
+        if (checkMenuChildFlag.value) {
+          checkMenuChildFlag.value = null;
+          emit("menusData", { id: null, isActive: false });
+          menuTool.clearLeftTools(res);
+        }
         childMenuOptions.value = res.id;
+        menuTool.leftTools(res);
+        res.isActive = true;
+      }
+      emit("menusData", res);
+    };
+    const setMenuTreeChildClick = (res) => {
+      if (checkMenuChildFlag.value && checkMenuChildFlag.value == res.id) {
+        checkMenuChildFlag.value = null;
+
+        menuTool.clearLeftTools(res);
+        res.isActive = false;
+      } else {
+        checkMenuChildFlag.value = res.id;
         menuTool.leftTools(res);
         res.isActive = true;
       }
@@ -84,6 +131,8 @@
       childMenuOptions,
       setMenuClick,
       setMenuChildClick,
+      checkMenuChildFlag,
+      setMenuTreeChildClick,
     };
   },
 };
@@ -150,6 +199,35 @@
         line-height: 64px;
         border-radius: 5px;
         padding: 0 12px;
+        position: relative;
+        .menus_btn_c_list_chlid {
+          position: absolute;
+          width: 280px;
+          // height: 200px;
+          background: url("../assets/img/sj.png") no-repeat center;
+          background-size: 100% 100%;
+          right: -320px;
+          top: 50%;
+          transform: translateY(-50%);
+          padding: 43px 42px 52px 56px;
+          box-sizing: border-box;
+          .menus_btn_c_list_chlid_list {
+            width: 100%;
+            font-size: 30px;
+            font-family: JLinXin;
+            font-weight: 600;
+            color: #ffffff;
+            white-space: nowrap;
+            cursor: pointer;
+            line-height: 64px;
+            border-radius: 5px;
+            text-align: center;
+            // padding: 0 12px;
+          }
+          .menus_btn_c_list_chlid_list:hover {
+            background: rgba(0, 6, 80, 0.4);
+          }
+        }
       }
       .menus_btn_c_list:hover {
         background: rgba(0, 6, 80, 0.4);

--
Gitblit v1.9.3